Función InSTR entre dos libros
Tengo un archivo llamado "prueba.xlsm" desde donde ejecuto una macro para que busque por términos en otro libro llamado "1315 - 2.xlsm", utilizando la función InSTR.
Cuando ejecuto el código en el mismo libro y hoja, funciona excelente, pero no logro hacer lo mismo cuando consulto el otro libro y que me devuelva los datos en el primero.
El código es una adaptación de lo que encontré en la web, ya que aunque he avanzado en el autoaprendizaje de VBA, es la primera vez que uso esta función, que encadenaré a un proyecto mayor que tengo ya el 85% terminado.
Agradeceré la ayuda que puedan brindarme!!!
Aquí está el código:
Sub Buscar_Texto_En_Lista()
Application.ScreenUpdating = False
Dim lngUltimaFila As Long Dim strObjetoBuscar As String
Dim lngResultado As Long Dim
lngColumna As Long, lngFila As Long
Dim lngPegarColumna As Long, lngPegarFila As Long
Dim x As Integer, n As Integer
'quitar resultados anteriores
Range("G5:I4000").ClearContents
'columna + fila donde empezar/terminar búsqueda
Windows("1315 - 2.XLS").Activate
lngColumna = 1 lngFila = 2 lngUltimaFila = Columns(lngColumna).Range("A10000").End(xlUp).Row
'columna + fila donde empezar a pegar resultados
lngPegarColumna = 7 lngPegarFila = 5
Windows("prueba.xlsm").Activate
'objeto a buscar
strObjetoBuscar = Range("G2").Text
If strObjetoBuscar = "" Then GoTo 99
'minúsculas strObjetoBuscar = LCase(strObjetoBuscar)
'bucle: realizar búsqueda
Windows("1315 - 2.XLS").Activate
For n = lngFila To lngUltimaFila
'evaluación lngResultado = InStr(1, Cells(n, 1), strObjetoBuscar, vbTextCompare) 'copiar/pegar
If lngResultado > 0 Then
Windows("1315 - 2.xlsm").Range(Cells(n, 1), Cells(n, 3)).Copy
Range(Cells(lngPegarFila, lngPegarColumna), _ Cells(lngPegarFila, lngPegarColumna + 2)).Select
Windows("prueba.xlsm").Paste lngPegarFila = lngPegarFila + 1 End If Next n
'Desactivar selection
Application.CutCopyMode = False
Windows("PRUEBA.XLSM").Activate
Range("G2").Select
99:
Application.ScreenUpdating = True
End Sub