Pon la siguiente macro en un módulo de un archivo de excel.
Realiza los siguientes cambios en la macro:
1. "c:\Aleida\", por el nombre de la carpeta donde tienes tus ficheros.
2. Los nombres de los ficheros 1 y 2.
3. El nombre del fichero con el resultado.
4. El nombre de la nueva columna.
En la macro verás comentarios donde debes realizar los cambios.
Sub agregar_columna_a_txt()
'Por Dante Amor
'
Dim fic1 As String, fic2 As String, fic3 As String
Dim ruta As String
Dim wb1 As Workbook, wb2 As Workbook
Dim sh1 As Worksheet, sh2 As Worksheet
'
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Carpeta donde están los archivos
ruta = "C:\Aleida\"
'Nombre de los ficheros:
fic1 = "Fichero1.txt"
fic2 = "Fichero2.txt"
'
Workbooks.OpenText Filename:=ruta & fic1, 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)), TrailingMinusNumbers:=True
Set wb1 = ActiveWorkbook
Set sh1 = wb1.Sheets(1)
'
Workbooks.OpenText Filename:=ruta & fic2, Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
Set wb2 = ActiveWorkbook
Set sh2 = wb2.Sheets(1)
'
'Copia columna
Sh2. Range("A1", sh2.Range("A" & Rows. Count).End(3)). Copy sh1. Range("S2")
wb2.Close False
'
'Encabezado en la columna nueva
sh1.Range("S1").Value = "New Column"
'Guarda el fichero 3
wb1.SaveAs Filename:=ruta & "Fichero3.txt", FileFormat:=xlText
ActiveWindow.Close
'
Application.DisplayAlerts = True
Application.ScreenUpdating = True
MsgBox "Columna agregada"
End Sub