Macro copiar datos en una hoja de Excel

Tengo una relación de clientes que ocupo ordenarlo, pero el problema es que no los tengo en la misma linea o renglón, ejemplo: así tengo la hoja de calculo
            30125 código cte
            datos1 datos2 datos3
            datos1 datos2 datos3
            30126
             datos1 datos2 datos3
             datos1 datos2 datos3
              datos1 datos2 datos3
              datos1 datos2 datos3
              datos1 datos2 datos3
               30127
               datos1 datos2 datos3
y así es como lo ocupo tenerlo
30125 datos1 datos2 datos3 
30125 datos1 datos2 datos3
30126 datos1 datos2 datos3
30126 datos1 datos2 datos3
30126 datos1 datos2 datos3
30126 datos1 datos2 datos3
30126 datos1 datos2 datos3
30126 datos1 datos2 datos3
30127 datos1 datos2 datos3
Me pueden ayudar, para poder hacer alguna macro
Saludos y gracias

1 respuesta

Respuesta
1
La macro que diseñé para la ocasión obedece a datos que están en las columnas A:C, con el código en la columna A, que empieza con "30" (es una forma que ideé para diferenciarlo de los datos).
El programa recorrela columna A, y todas las celdas que encuentra a su paso que no empiecen por "30", las ubica a partir de la columna G con su respectivo código.
Esta es la macro:
Sub repetir()
Dim codigo As String
Dim direc As String
[A1].Select
Do While Not IsEmpty(ActiveCell)
codigo = ActiveCell
ActiveCell.Offset(1, 0).Select
Do While codigo <> ActiveCell And Left(ActiveCell, 2) <> "30" And Not IsEmpty(ActiveCell)
dato1 = ActiveCell.Offset(0, 0)
dato2 = ActiveCell.Offset(0, 1)
dato3 = ActiveCell.Offset(0, 2)
direc = ActiveCell.Address
[G1].Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell = codigo
ActiveCell.Offset(0, 1) = dato1
ActiveCell.Offset(0, 2) = dato2
ActiveCell.Offset(0, 3) = dato3
Range(direc).Select
ActiveCell.Offset(1, 0).Select
Loop
Loop
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas