H o l a : Te anexo unas opciones:
En la primera opción el libro puede estar cerrado, entonces la macro lo abre y te pone los resultados de las búsquedas.
Sub PoneResultados()
'Por.Dante Amor
Set l1 = ThisWorkbook
Set h1 = l1.ActiveSheet
ruta = "C:\Users\usuario\Desktop\ropa tanya envios\"
'ruta = ThisWorkbook.Path & "\"
arch = "FACTURAS ARTICULOS CLIENTES TANYA.xlsm"
hoja = "VTA"
existe = False
For Each libro In Workbooks
If libro.Name = arch Then existe = True
Next
If existe = False Then
Set l2 = Workbooks.Open(ruta & arch)
Else
Set l2 = Workbooks(arch)
End If
Set h2 = l2.Sheets(hoja)
'
For i = 4 To h1.Range("E" & Rows.Count).End(xlUp).Row
Set b = h2.Columns("N").Find(h1.Cells(i, "E"), lookat:=xlWhole)
If Not b Is Nothing Then
h1.Cells(i, "M") = h2.Cells(b.Row, "S")
Else
h1.Cells(i, "M") = 0
End If
Next
MsgBox "Fin"
End Sub
En la siguiente opción el libro tiene que estar abierto:
Sub Macro1()
'Por.Dante Amor
With Range("M4:M" & Range("E" & Rows.Count).End(xlUp).Row)
.FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(RC[-8],'[FACTURAS ARTICULOS CLIENTES TANYA.xlsm]VTA'!C14:C19,6,FALSE)),""0"",VLOOKUP(RC[-8],'[FACTURAS ARTICULOS CLIENTES TANYA.xlsm]VTA'!C14:C19,6,FALSE))"
.Value = .Value
End With
End Sub
En la siguiente opción puedes tener el libro cerrado, solamente revisa que el nombre de la ruta y archivo sean correctos.
Sub Macro2()
'Por.Dante Amor
'ruta = ThisWorkbook.Path & "\"
ruta = "C:\Users\usuario\Desktop\ropa tanya envios\"
arch = "FACTURAS ARTICULOS CLIENTES TANYA.xlsm"
With Range("M4:M" & Range("E" & Rows.Count).End(xlUp).Row)
.FormulaR1C1 = "=IF(ISERROR(VLOOKUP(RC[-8],'" & ruta & "[" & arch & "]VTA'!C14:C19,6,FALSE)),""0""," & _
"VLOOKUP(RC[-8],'" & ruta & "[" & arch & "]VTA'!C14:C19,6,FALSE))"
.Value = .Value
End With
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias