Macro que copie y pegue columnas una bajo la otra

¿Me podrían ayudar con esta programación por favor? Recién estoy estudiando como hacer macros más complejas ( solo se grabarlas).

Diariamente tengo que descargar un archivo de ventas con detalle producto - local,  para hacer tablas dinámicas, sin embargo el formato en que se descarga es como matriz, es decir hacia abajo están los productos (A1 = Nombre de producto, A2 =Producto1; A3=Producto2, ...),  y hacia el lado los locales (B1=Local1, C1=Local2,....), y dentro de esta matriz las ventas (B2= Venta de Producto1 en Local1, ....). Por lo que estoy buscando  programar una macro que ordene todo como base de datos (A2=Producto1; B2=Local1; C2= Venta, y así para abajo.

1

1 respuesta

Respuesta
3

Si tus datos están de esta forma en la hoja1:

Y los quieres de esta forma:


Te anexo la macro, el resultado quedará en la hoja2.

Cambia en la macro "Hoja1" y "Hoja2" por el nombre de tus hojas.

Sub Organizar()
'Por Dante Amor
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    '
    h2.Rows("2:" & Rows.Count).Clear
    k = 2
    For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
        For j = 2 To h1.Cells(1, Columns.Count).End(xlToLeft).Column
            h2.Cells(k, "A").Value = h1.Cells(i, "A").Value
            h2.Cells(k, "B").Value = h1.Cells(1, j).Value
            h2.Cells(k, "C").Value = h1.Cells(i, j).Value
            k = k + 1
        Next
    Next
    MsgBox "Fin"
End Sub


.

.Sal u dos. Dante Amor. No olvides valorar la respuesta. G racias

.

Hola Dante, muchas gracias por tu respuesta.

Si, tal como esta en la foto es mi situación, lo diferente es que mis bases llegan hasta la columna JD y la fila 86 aprox. (el numero de combinaciones nunca son iguales), por lo que definir cada una de las posiciones seria imposible. Que puedo incluir para que ademas sea cíclico ? que copie hasta la ultima celda con contenido  y luego peque desde la primera sin contenido.

Ojala me puedas ayudar.

Gracias!

Ya no entendí, podrías explicarlo con imágenes, y con ejemplos reales.

Una imagen para ver cómo tienes los datos y otra imagen para ver cómo los quieres.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas