Inicio > Microsoft Excel > juanbauzam > Macro copiar datos en una hoja de Excel

Macro copiar datos en una hoja de Excel

Experto:
Usuario:
Fecha: 03/09/2008
Valoración: (4,00 sobre 5) Categoría: Microsoft Excel
03/09/2008
inexxpert, usuario preguntando en Microsoft Excel
Usuario
tengo una relacion de clientes que ocupo ordenarlo, pero el problema es que no los tengo en la misma linea o renglon, ejemplo:  asi tengp la hoja de calculo
            30125 codigo 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 asi 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
 
 
03/09/2008
inexxpert, experto respondiendo en Microsoft Excel
Experto
Hola:
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
 Un saludo
Juan
 
 
 
 
03/09/2008
inexxpert, usuario preguntando en Microsoft Excel
Usuario
muchas gracias por su valioso tiempo, y solo me resta decirle si lo puedo hacer hasta N renglones
Enlaces patrocinados