Saltar al contenido

Exportar datos de varios txt o cvs a excel masivamente


Favic

Recommended Posts

publicado

Hola amigos agradezco de antemano su colaboración

Pues antes de colocar un tema investigo y veo la forma de hacerlo pero no he encontrado mucha ayuda al respecto.

Tengo varios Archivos TXT y CVS y XLS en carpetas y siempre tengo que abrir 1 a 1 cada archivo copiarlo y pegarlo en la hoja donde estoy trabajando. cada archivo tiene el mismo formato. pero varian la cantidad de filas.

lo estaba haciendo muy manual y había creado una macro de repetición y la copiaba y la pegaba para que me repitiera la función. esto también es demorado.

He visto otras macros que cuando las activas te salen un cuadro para que explores que carpeta elegirla y ella te trae los archivos que contiene uno debajo del otro. se puede hacer o alguien tiene una de estas que la vi en youtube pero no mostraba el codigo.

Vi esta macro buscando en la web pero no me funciona si alguien tiene alguna o puede ayudarme a que esta me funcione.

Sub proceso()
'por luismondelo
Application.DisplayAlerts = False
mio = ActiveWorkbook.Name
ruta = ActiveWorkbook.Path & "\"
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("b65000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Range("a65000").End(xlUp).Offset(1, 0).Select
Do While ActiveCell.Offset(0, 1).Value <> ""
ActiveCell.Value = archi
ActiveCell.Offset(1, 0).Select
Loop
Workbooks(otro).Close False
archi = Dir()
Range("a1").Value = "nombre fichero"
Range("b1").Value = "contenido"
ActiveSheet.Columns("a:c").AutoFit
Loop
End Sub[/CODE]

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.