Extraer datos de tablas que están en carpetas de red
He estado investigando un poco sobre macros, y en varias cadenas de este foro pude ir resolviendo algunas dudas que me ayudaron a entender, muy por encima algunas cosas.
Logré compilar algunas macros que me permitieron consolidar archivos contenidos en una carpeta, manteniendo solo los títulos del primer archivo, con el siguiente código:
Sub concentrar()
Set l1 = ActiveWorkbook
Set h1 = Workbooks.Add.Sheets("Hoja1")
h1.Cells.Clear
Application.ScreenUpdating = False
Set nav = CreateObject("shell.application")
carp = nav.browseforfolder(0, "SELECCIONA CARPETA", 0, "\\10.xxx.xx.xx\I N F O R M E S\CONSOLIDADO\BASES FINALES").items.Item.Path
If carp = "" Then Exit Sub
carp = carp & "\"
ChDir carp
archi = Dir("*.xlsm*")
Workbooks.Open archi
uf = ActiveCell.SpecialCells(xlLastCell).Row
uc = ActiveCell.SpecialCells(xlLastCell).Column
u = h1.Range("A1").SpecialCells(xlLastCell).Row
columna = Range("HA1").End(xlToLeft).Column
fila = Range("A65000").End(xlUp).Row
Range(Cells(3, 7), Cells(fila, columna)).Select
Selection.Copy
h1.Range("A" & u).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Close savechanges:=False
archi = Dir()
Do While archi <> ""
Workbooks.Open archi
uf = ActiveCell.SpecialCells(xlLastCell).Row
uc = ActiveCell.SpecialCells(xlLastCell).Column
u = h1.Range("A1").SpecialCells(xlLastCell).Row
columna = Range("HA1").End(xlToLeft).Column
fila = Range("A65000").End(xlUp).Row
Range(Cells(4, 7), Cells(fila, columna)).Select
Selection.Copy
h1.Range("A" & u).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Close savechanges:=False
archi = Dir()
Loop
MsgBox "Archivos concentrados", vbInformation, "UNIR ARCHIVOS EN UNA HOJA"
End Sub
Puede que para un experto esto se vea como un "Frankenstein".
El problema es que esta macro me arranca solo cuando tengo la siguiente línea en un archivo en cualquier carpeta en "C:":
carp = nav.browseforfolder(0, "SELECCIONA CARPETA", 0, "\\10.xxx.xx.xx\I N F O R M E S\CONSOLIDADO\BASES FINALES").items.Item.Path
Pero cuando la trato de vincular a un archivo en red, esta arroja error.
Estaria muy agradecido de recibir sus recomendaciones y comentarios.