Necesito una macro que me habrá todos mis archivos txt, no un numero limitado de archivos.En excel

Utilizando tu macro(luismodelo) cada vez que añade un dato, me pone que se ha puesto gran información en el portapapeles ¿desea que esa información quede disponible para pegarla en otro documento?, lo que yo querría es que no me lo preguntase esto y que ademas de ello me abriese todos los documentos txt que tengo desde el 300 hasta el 580 y solo me muestra siempre desde el 300 a 372. Me podríais ayudar por favor es que es bastante urgente y hacerlos uno a uno es mucho trabajo. Muchas gracias un saludo, Sebas

1 Respuesta

Respuesta
1

Mándame la macro para recordar cual era

La macro que te digo es esta que le respondiste a el usuario lianet88. La macro es esta:

Sub ejemplo()
'por luismondelo
mio = ActiveWorkbook.Name
ruta = ActiveWorkbook.Path
ChDir ruta & "\"
archi = Dir("*.txt")
Do While archi <> ""
Workbooks.OpenText archi, origin:=xlWindows, startrow:=1, DataType:=xlDelimited
otro = ActiveWorkbook.Name
Range("a1:a" & Range("a65000").End(xlUp).Row).Copy
Workbooks(mio).Activate
Range("av1").End(xlToLeft).Offset(0, 1).Select
ActiveSheet.Paste
Workbooks(otro).Close False
archi = Dir()
Loop
ActiveSheet.Columns("a:a").EntireColumn.Delete
MsgBox "proceso terminado"
End Sub

Pero al hacerla yo con el excel solo me habré unos cuantos archivos txt no todos, y además por cada uno que habré me hace la pregunta que he dicho antes. Si me pudieses crear una macro o algo similar en excel para abrir todos los archivos txt en una hoja excel, y sin que me realizaran todo el rato la misma pregunta, ya que tengo como 300 archivos que abrir y que por cada uno que se abra tenga que poner si o no. Te lo agradecería un montón, de todas formas muchas gracias.

Un saludo , Sebastián.

Te mando la macro corregida para que no te pregunte eso

Estas son las instrucciones:

-Todos los txt tienen que estar juntos en una misma carpeta

-El excel que contiene esta macro tiene que estar grabado dentro de esa misma carpeta

-Una vez todos juntos tienes que abrir el excel y ejecutar la macro

Esta macro abre todos los txt (que en este caso se componen de una única columna de datos) y los va pegando en nuestro excel en columnas empezando por la columna A... B... C...

Sub ejemplo()
'por luismondelo
application.displayalerts = false
mio = ActiveWorkbook.Name
ruta = ActiveWorkbook.Path
ChDir ruta & "\"
archi = Dir("*.txt")
Do While archi <> ""
Workbooks.OpenText archi, origin:=xlWindows, startrow:=1, DataType:=xlDelimited
otro = ActiveWorkbook.Name
Range("a1:a" & Range("a65000").End(xlUp).Row).Copy
Workbooks(mio).Activate
Range("av1").End(xlToLeft).Offset(0, 1).Select
ActiveSheet.Paste
Workbooks(otro).Close False
archi = Dir()
Loop
ActiveSheet.Columns("a:a").EntireColumn.Delete
MsgBox "proceso terminado"
End Sub

recuerda finalizar

Ahora no me hace la pregunta, pero se supone que los habré todos, pero no se quedan guardados los datos, pone proceso finalizado y la hoja de excel se queda en blanco.He hecho todos los requisitos que me has puesto, pero se queda en blanco. No se lo que estará fallando, pero te agradecería mucho que me lo resolvieses, de todas formas gracias de verdad. Si quieres te paso la carpeta con los archivos txt y ves tu lo que ocurre.

Un saludo, Sebastián.

Como los txt serán semajantes... solo necesito que me pases dos o tres archivos txt para verlos

[email protected]

Muchas gracias por las molestias de verdad, he comprobado de primera mano que este foro es muy provechoso y que hay gente magnifica como el usuario luismondelo, muchísimas gracias, y espero poder yo algún dia ayudarte como tu lo has hecho, por último decirte si me puedes pasar la misma macro pero que ponga el nombre en la primera celda de la columna.

Muchas gracias, Sebastián

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas