Como Importar ficheros texto a Excel mediante una macro.
Tengo que importar varios ficheros texto a Excel y algunos campos tienen ceros a la izquierda y cuando se importan a excel pierdo los ceros. Aqui dejo la macro que uso para cualquier ayuda de que puede estar pasando. Necesito que se importe a excel como un campo text con todos los ceros.
Sub Join_Textfile()
Dim sh As Worksheet, wb As Workbook, arch As Variant
Dim lr1 As Long, lr2 As Long, lr3 As Long
Dim sDatos As Variant, sNombre As String
'
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'
Set sh = Sheets("To_import")
sh.Rows("2:" & Rows.Count).ClearContents
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Seleccione archivos txt"
.Filters.Clear
.Filters.Add "Todos los archivos", "*.txt"
.AllowMultiSelect = True
.InitialFileName = "C:\trabajo\folder1"
If .Show Then
For Each arch In .SelectedItems
sDatos = Split(arch, "_")
sNombre = Split(sDatos(UBound(sDatos)), ".")(0)
'
Workbooks.OpenText Filename:=arch, Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, _
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), Array(10, 1), Array(11, 1), _
Array(12, 1), Array(13, 1), Array(14, 1), Array(15, 1), Array(16, 1), _
Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), Array(22, 1), Array(23, 1), _
Array(24, 1), Array(25, 1), Array(26, 1), Array(27, 1)), TrailingMinusNumbers:=True
'
Set wb = ActiveWorkbook
lr1 = wb.Sheets(1).Range("A" & Rows.Count).End(3).Row
lr2 = sh.Range("A" & Rows.Count).End(3).Row + 1
wb.Sheets(1).Rows("2:" & lr1).Copy sh.Range("A" & lr2)
lr3 = sh.Range("A" & Rows.Count).End(3).Row
sh.Range("Y" & lr2 & ":Y" & lr3).Value = sNombre
wb.Close False
Next
End If
End WithUn saludo y en espera de alguna recomendacion,
Aleida
1 Respuesta
Respuesta de Dante Amor
1