Saltar al contenido

Importar datos de varios txt o csv a excel


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.

coloco el codigo de repeticion que hice no sirve de mucho

CODE]Range("A1").Select

Workbooks.OpenText Filename:="C:\Users\ALEXANDER\Downloads\1.txt", Origin:= _

xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _

xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _

Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _

Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _

Array(9, 1)), TrailingMinusNumbers:=True

Range(Selection, Selection.End(xlToRight)).Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Copy

Windows("DATOS INV FEBRERO 2016.xlsm").Activate

Range("A1").Select

Selection.Insert Shift:=xlDown

Range("B2").Select

[/code]

publicado

hola mira esta tambein es una macro que dice hace lo que yo quiero pero no me funciona.

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.