Macro para copiar datos de una hoja a otra hoja (Excel 2010)

hola, lo que necesito es copiar todas las filas de la Hoja2, a la Hoja1, que en la columna A diga las letras IM, si no las tiene que las saltee.

Es para hacer un listado de deudas, necesito que al usar la macro me pase de la hoja2 todas las facturas que me debe a la hoja1.

Ej: en Hoja2 se encuentran estas 3 facturas impagas y pagas

A B C D F

1 IM 01/01/2010 001 Pedro $100
2 PA 01/02/2010 002 Pedro $100
3 IM 01/03/2010 003 Pedro $100

Que al usar la macro me copie solo las IM de columna A a la hoja1

A B C D F
1 IM 01/01/2010 001 Pedro $100
2 IM 01/03/2010 003 Pedro $100

Gracias

1 respuesta

Respuesta
1

Te pregunto: ¿Seguro qué los datos empiezan en A1? ¿No habrá títulos? Pregunto esto x q hay que filtrar y es mejor contar con los datos exactas a la hora de programar.

Quedo a la espera de tus aclaraciones.

pueden ser las 2 opciones ya que seria como una base de datos, pero en el caso actual tiene títulos en las 2 hojas.

ponele titulo1 titulo2 ext como ref o lo que quieras es entendible luego para modificarlo.

gracias.

Bien, aquí vá con aclaraciones. Quizás debas incluir línea para limpiar la HOja1 antes de pasar nuevos datos filtrados

(Sheets("Hoja1"). Cells. Clear)

También el criterio puede ser tomado de alguna celda o a solicitud desde un InputBox.

Sub copiar_filtrado()
'x Elsamatilde
'si la tabla no tiene filtros se aplicae Autofiltro
'fila 1 tiene títulos
Range("A1").Select
If ActiveSheet.AutoFilterMode = False Then Selection.AutoFilter
ActiveSheet.Range("$A$1:$J$7").AutoFilter Field:=1, Criteria1:="IM"
Range("A2:F" & Range("A65536").End(xlUp).Row).Select
Selection.Copy
Sheets("Hoja1").Select
'se pega a partir de A2 - evaluar si hay que limpiar antes
Range("A2").Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A2").Select

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas