Copiar textos de un archivo a excel

Resulta que al correr la macro me sale Error "1004", en la celda A1 escribí NOMBRE como titulo, no corre la macro en la celda A2 si no hay nada escrito en dicha celda, debo escribir algo en la celda A2 para que funcione, quisiera saber por que ?

este es el código:

Set navegador = CreateObject("shell.application")
carpeta = navegador.browseforfolder(0, "SELECCIONE UNA CARPETA", 0, "C:\Users\asus").items.Item.Path
ChDir carpeta & "\"
archivo = Dir("*.*")
Do While archivo <> ""
ActiveCell.Value = archivo
ActiveCell.Offset(1, 0).Select
archivo = Dir()
Loop

Gracias de antemano

Respuesta
1

Esa macro es correcta y lo único que hace es escribir el nombre del archivo en una celda y continuar escribiendo hacia abajo en la misma columna.

Perdoname el error se genera cuando cambio

ActiveCell.Value = archivo
ActiveCell.Offset(1, 0).Select

por

ActiveSheet.Range("a1").End(xlDown).Offset(1, 0).Select

ActiveCell.Value = archivo

veamos... utiliza la macro así:

Sub proceso()
Range("a1").Select
Set navegador = CreateObject("shell.application")
carpeta = navegador.browseforfolder(0, "SELECCIONE UNA CARPETA", 0, "C:\Users\asus").items.Item.Path
ChDir carpeta & "\"
archivo = Dir("*.*")
Do While archivo <> ""
ActiveCell.Value = archivo
ActiveCell.Offset(1, 0).Select
archivo = Dir()
Loop
End Sub

Pero recuerda que lo que yo quiero es que automáticamente la macro me busque la última celda activa para poder pegar el valor archivo ahí

Entonces es así si lo hacemos para la columna A

Sub proceso()
Range("a65000").end(xlup).offset(1,0).select
Set navegador = CreateObject("shell.application")
carpeta = navegador.browseforfolder(0, "SELECCIONE UNA CARPETA", 0, "C:\Users\asus").items.Item.Path
ChDir carpeta & "\"
archivo = Dir("*.*")
Do While archivo <> ""
ActiveCell.Value = archivo
ActiveCell.Offset(1, 0).Select
archivo = Dir()
Loop
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas