Crear excel con campos de otro documento
Hola luis, me diste una respuesta muy buena, pero me gustaría saber, porque tengo que seleccionar 2 veces o mejor dicho me pregunta 2 veces el archivo a abrir, i no 1...
Ahí va el código por si no te acuerdas
Sub extrae_datos()
Dim m As String
Dim i As Integer
Dim a As String
Dim fila As Long
Dim n As Integer
Application.ScreenUpdating = False
ChDir "C:\"
m = Dir("C:\tu_carpeta\*.xls") ' cambia aca por la direccion de tu carpeta
Range("A" & 1) = m
i = 2
Do Until m = ""
m = Dir
Range("A" & i) = m
i = (i + 1)
DoEvents
Loop
i = 0
'crea referencia
n = Application.WorksheetFunction.CountA(Range("A:A"))
For i = 1 To n
m = Range("A" & i)
Range("b" & i) = "=+'C:\as\[" & m & "]Hoja4'!$A$20"
a = Range("b" & i)
Range("b" & i) = a
Range("c" & i) = "=+'C:\as\[" & m & "]Hoja4'!$A$21"
a = Range("c" & i)
Range("c" & i) = a
Range("A" & i).Clear
Next
Application.ScreenUpdating = True
MsgBox "Terminado", vbInformation
End Sub
Ahí va el código por si no te acuerdas
Sub extrae_datos()
Dim m As String
Dim i As Integer
Dim a As String
Dim fila As Long
Dim n As Integer
Application.ScreenUpdating = False
ChDir "C:\"
m = Dir("C:\tu_carpeta\*.xls") ' cambia aca por la direccion de tu carpeta
Range("A" & 1) = m
i = 2
Do Until m = ""
m = Dir
Range("A" & i) = m
i = (i + 1)
DoEvents
Loop
i = 0
'crea referencia
n = Application.WorksheetFunction.CountA(Range("A:A"))
For i = 1 To n
m = Range("A" & i)
Range("b" & i) = "=+'C:\as\[" & m & "]Hoja4'!$A$20"
a = Range("b" & i)
Range("b" & i) = a
Range("c" & i) = "=+'C:\as\[" & m & "]Hoja4'!$A$21"
a = Range("c" & i)
Range("c" & i) = a
Range("A" & i).Clear
Next
Application.ScreenUpdating = True
MsgBox "Terminado", vbInformation
End Sub
1 respuesta
Respuesta de Luis_P
1