Macro para buscar, ecnontra y copiar.

Amigos, los molesto nuevamente:
Tengo un libro con 3 hojas, hoja1, hoja2 y hoja3. El contenido de las hojas1 y 2 son un extenso listado, lo único en común que poseen son entre ellas es un código numérico (columna A en las dos hojas).
La idea es que a través de una macro se busque el primer código A1 de la hoja2 dentro de toda la columna A de la hoja1, y si lo encuentra que copie en la hoja3 la columna A B C de la hoja1 y hoja2. Tomando en cuenta que en la hoja1 los códigos no están en filas seguidas o continuas.
hoja1 hoja2 hoja3
codigo dato1 dato2 codigo dato1 dato2 codigo dato2 dato2 dato1 dato2
10201 lapiz negro 10205 XVC 354 10305 lente rojo FGH 256
10214 casa rojo 10305 FGH 256
10305 lente rojo 2545 DES 132
Mil gracias, si es que me pueden echar una manito,, si no,,,, mil gracias también.

1 Respuesta

Respuesta
1
Sub MyMacro()
Dim Dato As String
Dato = WorkSheets("hoja2").Range("a1").Value
Sheets("hoja1").select
Range("a1").select
Cells.Find(What: = Dato, After: = ActiveCell).Activate
ActiveCell.Copy
Sheets("hoja3").Select
Range("iv1").Select
ActiveSheet.Paste
Application.CutCopyMode = false
Sheets("hoja1").Select
Range("a1").Select
Cells.Find(What: = Dato, After: = ActiveCell).Activate
ActiveCell.Offset(0,1).select
ActiveCell.Copy
Sheets("hoja3").Select
Range("iv2").select
Application.CutCopyMode = False
Sheets("hoja1").select
Range("a1").Select
Cells.Find(What: = Dato, After:= ActiveCell).Activate
ActiveCell.Offset(0,2).Select
ActiveCell.Copy
Sheets("hoja3").select
Range("iv3").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("a65536").End(xlUp).Offset(1,0).select
i = ActiveCell.Row
Range("a" & i).Value = Range("iv1").Value
Range("b" & i).Value = Range("iv2").Value
Range("c" & i).Value = Range("iv3").Value
Range("iv1:iv3).Select
Selection.ClearContents
Range("a1").Select
Sheets("hoja2").Select
Range("a1").Select
End sub
Pega esta macro
Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas