Hola a tod@s,
Estoy realizando una función en la que intento hacer una busqueda de información en otros libros del directorio para traerla a una celda determinada.
El problema es que al intentar abrir un libro/fichero a través de la función, no lo hace; sin embargo si ejecuto con F5 la sub RecorridoDirectorio, si lo abre. Espero haberme explicado con claridad. Adjunto el código:
Módulo 1:
Option Explicit
Global LookValue As Variant
Function LlamadaMacrosPrivado(Look_Value As Variant)
LookValue = Look_Value
RecorridoDirectorio
End Function
Módulo 2:
Sub RecorridoDirectorio()
Dim Ruta, Archivos, cad, cad2 As String
Ruta = "C:\Users\joica\Desktop\ANTONIO\Inventario"
Archivos = Dir(Ruta & "\*.xl*")
Application.ScreenUpdating = False
Do While Len(Archivos) > 0
cad = Mid(LookValue, 3, 4)
cad2 = Mid(Archivos, 1, 4)
If cad <> cad2 Then
GoTo NextFile
End If
'solo abre un libro que cumple la condición que cad y cad2 son iguales
Workbooks.Open Filename:=Ruta & "\" & Archivos, ReadOnly:=True
' resto codigo
ActiveWorkbook.Close savechanges:=False
NextFile:
Archivos = Dir()
Loop
'Application.ScreenUpdating = True
ActiveWorkbook.Save
End Sub
Gracias de antemano.
¿desde dónde estás llamando a la función?
¿cómo es esa llamada?
¿te da algún error?
------
Ya sé Excel, pero necesito más.
Estoy llamando a la función desde las celdas de una tabla de un libro llamado Ventas.xlsm. Así se realiza la llamada: =LlamadaMacrosPrivado([@[CÓDIGO PRODUCTO]]) (aunque faltan mas argumentos, que no quiero introducir todavia, hasta ver que me funciona la apertura del fichero, utilizando la depuración con F8 y punto de ruptura.) La función me devolvería la descripción del articulo buscado en los libros que mantengo cerrados. Solo Ventas está abierto y con el código vba.
En cuanto a la tercera pregunta, no me da ningun error. Por eso me tiene confuso. Si me diera algun error seria estupendo pues así podria solucionar el problema.
Muchas Gracias por reponder.