Importar el texto de varios archivos.txt a una hoja de excel, el texto de cada archivo en una celda

Necesito importar el texto de muchos archivos .txt a una hoja de excel, por ejemplo, Archvio1.txt, me lo importe a la celda A1 de la hoja y el Archivo2.txt me lo importe a la celda A2 y así sucesivamente.

2 respuestas

Respuesta
3

Te mando mi solución, sigue mis instrucciones:

-Primero coloca todos los txt en una misma carpeta.

-Abre un excel nuevo y pega esta macro dentro de él. Después graba el archivo excel en la misma carpeta de los txt.

-Ahora con el excel abierto, ejecuta la macro y todo listo!

Sub ejemplo()
'por luismondelo
fila = 1
ruta = ActiveWorkbook.Path
destino = ActiveWorkbook.Name
ChDir ruta & "\"
archi = Dir("*.txt")
Do While archi <> ""
Open archi For Input As #1
contenido = Input(LOF(1), #1)
Workbooks(destino).Activate
Cells(fila, 1).Value = contenido
Close #1
fila = fila + 1
archi = Dir()
Loop
End Sub

no olvides finalizar la consulta

Hola Luis ,muchas gracias por tu ayuda, pero me da un error de compilación y me señala el 1 en la primera linea (fila = 1 )

A mi me funciona perfectamente, ¿te has asegurado de copiar bien los datos?

Mira a ver si has puesto un option explicit

<address>Bueno luis ,ya me va ,de segundas me importaba archivos de texto de una unidad de red,y ha seguido asi hasta que he desconectado la unidad,pero si conecto la unidad de red,no hace caso de la carpeta donde están los archivos ,me importa lo de la red,si tienes solución por favor mándamela,gracias y un saludo</address>
Respuesta

Si lo que quieres es extraer los nombre de los archivos de una carpeta aquí te dejo la macro, te pedirá la ruta de la carpeta y listo.

Sub Contenido_Carpeta()
'Sección 1: Variables a utilizar en la macro
Dim carpeta, archivos As String
Dim contador As Integer
'Sección 2: Lectura de carpeta y ajustes necesarios
carpeta = InputBox("Ingresa la ruta de la carpeta a importar:")
If carpeta = "" Then
Exit Sub
ElseIf Right(carpeta, 1) <> "\" Then
carpeta = carpeta & "\"
End If
'Sección 3: Preparación de variables
contador = 1
archivos = Dir(carpeta)
'Sección 4: Recorrido de la carpeta
Do While Len(archivos) > 0
ActiveSheet.Cells(contador, 1).Value = archivos
archivos = Dir()
contador = contador + 1
Loop
End SubSub Contenido_Carpeta()
'Sección 1: Variables a utilizar en la macro
Dim carpeta, archivos As String
Dim contador As Integer
'Sección 2: Lectura de carpeta y ajustes necesarios
carpeta = InputBox("Ingresa la ruta de la carpeta a importar:")
If carpeta = "" Then
Exit Sub
ElseIf Right(carpeta, 1) <> "\" Then
carpeta = carpeta & "\"
End If
'Sección 3: Preparación de variables
contador = 1
archivos = Dir(carpeta)
'Sección 4: Recorrido de la carpeta
Do While Len(archivos) > 0
ActiveSheet.Cells(contador, 1).Value = archivos
archivos = Dir()
contador = contador + 1
Loop
End Sub

Sígueme en

Instagram: @emedinamol 

Twitter: @yuytuyque

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas