Visual Basic para Aplicaciones - Macro crear matriz de datos

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Macro crear matriz de datos

Publicado por mario (6 intervenciones) el 20/07/2016 13:25:01
Hola,

Me estoy volviendo loco para tratar de rellenar una tabla con una macro en excel. Entiendo algo d visul basic, pero siempre lo he utilizado en access y hace muchísimo tiempo.

Tengo una tabla con un nombre de código y unas posiciones de celda. Necesita meter ese nombre de código (A, B, C..) en otra tabla justo en el rango de la posición que indica.

Mi tablita de datos es en el adjunto la tabla pequeña (hoja llamada ORIGEN) y el resultado es la otra (hoja llamada DESTINO), sería la macro que quiero crear. Me resulta complicado decirle que rellene x columnas y x filas a partir de la posición (X,Y). El ejemplo lo hice a mano. En la hoja de DESTINO tampoco sé estaría bien ponerle encabezado para rellenar las celdas.

Alguna sugerencia? Aunque sea para empezar y ver la luz?

es que no es la macro de siempre para copiar y pegar datos en una celda específica de una celda de hoja1 a otra celda de la hoja2 y estoy totalmente bloqueado, no encuentro nada por ningún lado y estoy desesperado.

Mil gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Macro crear matriz de datos

Publicado por JuanC (565 intervenciones) el 20/07/2016 14:38:08
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub ula_ula()
Dim rngCodigo As Range, cell As Range
Dim x&, y&, nCol&, nFil&, sCod$
Dim rngPivot As Range, i&, j&
 
Set rngCodigo = Worksheets("ORIGEN").Range("A2:A4")
Set rngPivot = Worksheets("DESTINO").Range("A1")
 
For Each cell In rngCodigo
    With cell
         sCod = .Value
         x = .Offset(, 1).Value
         y = .Offset(, 2).Value
         nCol = .Offset(, 3).Value
         nFil = .Offset(, 4).Value
    End With
 
    For i = 0 To nFil - 1
        For j = 0 To nCol - 1
            rngPivot.Offset(y + i, x + j).Value = sCod
        Next
    Next
Next
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Macro crear matriz de datos

Publicado por mario_80 (6 intervenciones) el 20/07/2016 15:11:56
funciona a la perfección!!! eres un crack!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar