Macro para reordenar valores de filas a columnas - Excel

Tengo una gran cantidad de datos a procesar en una planilla de excel y necesito un macro que automatice lo siguiente.

Tengo los datos de la columna A1 a A9 y necesito dejarlos como se muestra abajo. Deseo cambiar el sentido de vertical a horizontal. La función de pegado y transponer me permite hacerlo, pero tengo que seleccionar celdas de 3 por vez y pegarlas con dicha función, lo que me va a llevar mucho tiempo, si hay alguna otra manera me serviría. Aclaro que la imagen solo muestro una pequeña porción de los datos a procesar, son muchas mas filas que las quiero dejar en horizontal cada 3.

3 Respuestas

Respuesta
2

Este es el resultado de la macro

y esta es la macro

Sub copiar_transponer()
Set datos = Range("a1").CurrentRegion
With datos
    filas = .Rows.Count
    registros = filas / 3
    Set destino = Range("d1").Resize(registros, 3)
    For i = 1 To registros
        If i = 1 Then Set registro = .Resize(3, 1)
        If i > 1 Then Set registro = registro.Rows(4).Resize(3, 1)
        registro.Copy: destino.Rows(i).PasteSpecial , Transpose:=True
    Next i
End With
Set registros = Nothing: Set datos = Nothing: Set registro = Nothing
End Sub

¡Gracias! Probé la macro y funciona muy bien, muchas gracias por la colaboración, si me pudieran recomendar libros o link para ampliar conocimientos en VBA

En facebook hay varios grupos de programación de macros donde publican libros de VBA gratis o ponen video tutoriales, de preferencia vete por libros en version americana tienen una mejor forma de programar que sus contrapartes latinas de esos libros aprendí a desarrollar macros.

Respuesta
1

Intenta algo así:

Sub trasponer()
Set a = Sheets("Hoja2")
a.Cells(1, 1) = "NOMBRE"
a.Cells(1, 2) = "DIRECCION"
a.Cells(1, 3) = "IP"
b = Cells(Rows.Count, 1).End(xlUp).Row
For x = 1 To b Step 3
c = a.Cells(Rows.Count, 1).End(xlUp).Row
a.Cells(c + 1, 1) = Cells(x, 1)
a.Cells(c + 1, 2) = Cells(x + 1, 1)
a.Cells(c + 1, 3) = Cells(x + 2, 1)
Next x
End Sub
Respuesta

Vi algo tarde la solicitud de tu consulta. Qué bueno que ya la tengas resuelta.

Con respecto a los links, si prefieres códigos explicados en español, te recomiendo:

http://aplicaexcel.galeon.com/index.htm    (macros, ejemplos para descargar y manuales)

https://www.youtube.com/playlist?list=PLrhlyizWZzOERwRMxIIy-BTP-CyXh_K5N 

https://elsamatilde.blogspot.com/ (blog para descargar los ejemplos explicados en mi canal)

Sdos.

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas