Macro para copiar datos en una columna

Hola, estoy empezando en el tema de las macros, y me he metido en un jardín quepensé iba a ser más sencillo pero no lo es, al menos para mi. A ver si me podéis ayudar.
Tengo una tabla con los campos fecha, empresa, procedencia y viajes en columnas. Esta tabla se rellena diariamente con datos, y al final de mes hay que hacer una recopilación de viajes por empresa. Las empresas solo pueden ser 5, y de hecho la celda empresa se rellena en un desplegable.
Consigo una macro que me recorra la columna empresa y me copie el dato del numero de viajes. Pero lo que no consigo es que vaya trasladando ese dato a una columna en la Hoja2 sucesivamente. Quiero trasladar los datos a otra hoja por columnas, una para cada empresa (A, B, C, DE y E) y luego ya hacer más historias, pero que si que me funcionan.
¿Alguna idea? El código que me funciona es el siguiente:
Sub Datos1()
'Primera celda donde empiezan las empresas, es siempre la misma en todas las tablas'
Range("C6").Select 
'Recorrer la columna buscando la coincidencia'
Do
If ActiveCell="" Then Exit Do
   'Comparo si la empresa coincide con la que busco'
   If ActiveCell.Value=Range("z4").Value Then
   'Voy a la celda que contiene los viajes'
   ActiveCell.Offset(0,4).Select
   Selection.Copy
Aquí es donde tendría que trasladar el dato a la Hoja2 columna A, supongo,
pero no me funciona nada de lo que he intentado

   'llevo el cursor a la sigiente celda que contiene un empresa'
   ActiveCell.Offset(1,-4).Select
Else
   ActiveCell.Offset(1,0).Select
End If
Loop
End Sub

1 respuesta

Respuesta
1
Creo que es sencillo tu problema solo tienes que indicar el copiado y el destino y lixto!... seria así:
Sub Datos1()
'Primera celda donde empiezan las empresas, es siempre la misma en todas las tablas'
Range("C6").Select 
'Recorrer la columna buscando la coincidencia'
Do
If ActiveCell="" Then Exit Do
   'Comparo si la empresa coincide con la que busco'
   If ActiveCell.Value=Range("z4").Value Then
   'Voy a la celda que contiene los viajes'
   ActiveCell.Offset(0,4).Select
   Selection.Copy
sheets(2).range("a65000").end(xlup).offset(1,0).pastespecial
   'llevo el cursor a la sigiente celda que contiene un empresa'
   ActiveCell.Offset(1,-4).Select
Else
   ActiveCell.Offset(1,0).Select
End If
Loop
End Sub
Me dices si te funciono, ¿va?... sino me dices
salu2x!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas