Gracias a unos de vosotros conseguí hacer la busqueda mediante el método find.
A continuación les pongo el codigo resultante:
Código:
Sub CompareCols()
'Auto_Open
encontrada = False
Dim celda As Range
Dim rango As Range
For i = 2 To numRows(1)
Dim valor As String
valor = Workbooks(2).Worksheets(1).Range(varcellOriginalColumn1 & i).Value
Windows(myBook(2)).Activate
Set rango = Range(varCellDestinyColumn1 & 2, varCellDestinyColumn1 & numRows(2))
Set celda = rango.find(What:=valor, LookIn:=xlValues, LookAt:=xlWhole)
If Not celda Is Nothing Then
Windows(myBook(2)).Activate
rowPos = celda.Row
valueSearch = Range(varCellDestinyCopy & rowPos).Value
'valueSearch = celda.Value
'drawColorRow (pos)
'Selection.Copy
Windows(myBook(1)).Activate
Workbooks(2).Sheets(1).Select
Range(varCellInsertColumn & i).Value = valueSearch
'drawColorRow (i)
'ActiveSheet.Paste
Else
Windows(myBook(1)).Activate
Rows(i & ":" & i).Select
Range("N" & i).Activate
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent2
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
Next i
Set celda = Nothing
Windows(myBook(2)).Activate
Columns(varCellInsertColumn & ":" & varCellInsertColumn).EntireColumn.AutoFit
End Sub
pero ahora mi programa se complica y necesito buscar dos columnas, ¿se puede hacer con el metodo Find tambien?
He creado una macro y no me devuelve nada.
¿Cómo lo hariais?
A mi se me ocurre de la siguiente manera
en la fila i columna b
buscar ese valor en el otro archivo
Si lo encuentra1
buscar de la fila i columna c
si lo encuentra2
comparar que sean de la misma fila
sino
hacer algo o nada
fin si
fin si
creo que lo de comparar que sean de la misma fila es correcto pero no se bien como hacerlo, aparte de celda1.row = celda2.row
Imaginemos esta tablita1
Nombre Apellido
Juan Perez
Juan Gonzalo
Enrique Martin
Y la tablita2 a comparar
Juan Perez
Juan Gonzalo
Joaquin Velasco
Si deseamos buscar Juan Gonzalo
Primero buscaremos Juan y celda1.row será =1 (en la tabla2)
Luego buscaremos Gonzalo y celda2.row = 2 (en la tabla2)
por lo que ya no nos sirve este código,
Perdon por el rollo, pero es que no lo veo claro que funcione.
Gracias!!!