Olvidé de poner el código vba de mi archivo:
Sub Grabar_Archivo(Hoja As Worksheet)
'---INICIO DEL SCRIPT PARA GENERAR MENSAJE X400 AL BCRA
Dim Especie As String * 2
Dim Entidad As String * 2
Dim Plaza As String * 5
Dim Fecha As String * 8
Dim Tipo As String * 1
Dim Estado As String * 1
Dim Valor01 As String * 7
Dim Valor02 As String * 7
Dim Valor03 As String * 7
Dim Valor04 As String * 7
Dim Valor05 As String * 7
Dim Valor06 As String * 7
Dim Valor07 As String * 7
Dim Valor08 As String * 7
Dim Valor09 As String * 7
Dim Valor10 As String * 7
Dim Valor11 As String * 7
Dim Valor12 As String * 7
Dim Valor13 As String * 7
Dim Valor14 As String * 7
Dim Valor15 As String * 7
Dim Valor16 As String * 7
Dim Valor17 As String * 7
Dim Valor18 As String * 7
Dim Valor19 As String * 7
Dim Valor20 As String * 7
Dim sucursal As String * 5
Dim Archivo As String
Dim Libre As Long
Dim Registro As String
Dim X As String
Dim Y As Integer
Dim Cantidad As Integer
'---Abre archivo de salida
Archivo = ThisWorkbook.Path & "\" & "TRDX00072.txt"
Libre = FreeFile
Open Archivo For Output As #Libre
'---ColIni indica la columna que debe recorrer sobre la que se basara para determinar que filas procesar
X = ColIni
'---RowIni indica la fila que se esta procesando
Y = RowIni
Cantidad = 0
While Trim(Hoja.Range(X & Y).Text) <> ""
Especie = Format(Hoja.Range("A" & Y).Text, "00")
Entidad = Format(Hoja.Range("B" & Y).Text, "00")
Plaza = Format(Hoja.Range("C" & Y).Text, "00000")
Fecha = Format(Year(Hoja.Range("D" & Y).Text), "0000") & Format(Month(Hoja.Range("D" & Y).Text), "00") & Format(Day(Hoja.Range("D" & Y).Text), "00")
Tipo = Format(Hoja.Range("E" & Y).Text)
Estado = Format(Hoja.Range("F" & Y).Text)
Valor01 = Format(Hoja.Range("G" & Y).Text, "0000000")
Valor02 = Format(Hoja.Range("H" & Y).Text, "0000000")
Valor03 = Format(Hoja.Range("I" & Y).Text, "0000000")
Valor04 = Format(Hoja.Range("J" & Y).Text, "0000000")
Valor05 = Format(Hoja.Range("K" & Y).Text, "0000000")
Valor06 = Format(Hoja.Range("L" & Y).Text, "0000000")
Valor07 = Format(Hoja.Range("M" & Y).Text, "0000000")
Valor08 = Format(Hoja.Range("N" & Y).Text, "0000000")
Valor09 = Format(Hoja.Range("O" & Y).Text, "0000000")
Valor10 = Format(Hoja.Range("P" & Y).Text, "0000000")
Valor11 = Format(Hoja.Range("Q" & Y).Text, "0000000")
Valor12 = Format(Hoja.Range("R" & Y).Text, "0000000")
Valor13 = Format(Hoja.Range("S" & Y).Text, "0000000")
Valor14 = Format(Hoja.Range("T" & Y).Text, "0000000")
Valor15 = Format(Hoja.Range("U" & Y).Text, "0000000")
Valor16 = Format(Hoja.Range("v" & Y).Text, "0000000")
Valor17 = Format(Hoja.Range("w" & Y).Text, "0000000")
Valor18 = Format(Hoja.Range("x" & Y).Text, "0000000")
Valor19 = Format(Hoja.Range("y" & Y).Text, "0000000")
Valor20 = Format(Hoja.Range("z" & Y).Text, "0000000")
sucursal = Format(Hoja.Range("aa" & Y).Text, "00000")
Registro = Especie & ";" & Entidad & ";" & Plaza & ";" & Fecha & ";" & Tipo & ";" & Estado & ";" & Valor01 & ";" & Valor02 & ";" & Valor03 & ";" & Valor04 & ";" & Valor05 & ";" & Valor06 & ";" & Valor07 & ";" & Valor08 & ";" & Valor09 & ";" & Valor10 & ";" & Valor11 & ";" & Valor12 & ";" & Valor13 & ";" & Valor14 & ";" & Valor15 & ";" & Valor16 & ";" & Valor17 & ";" & Valor18 & ";" & Valor19 & ";" & Valor20 & ";" & sucursal & ";"
'---Graba registro
Print #Libre, Registro
Cantidad = Cantidad + 1
'---Proxima fila
Y = Y + 1
Wend
'Cierra el archivo
Close Libre
MsgBox ("Se han grabado " & Cantidad & "registros en el archivo " & Archivo)
'---FIN DEL SCRIPT PARA GENERAR MENSAJE X400 AL BCRA
End Sub