Archivo excel pasar datos a txt

Soy nuevo acá... He estado mirando ejemplos y ante todo no quiero dejar pasar la oportunidad de agradecerles y felicitarles a los miembros de la página todoexpertos por su predisposición de ayudar a los demás :)

De paso aprovecho seguir esta corriente sobre de excel a txt con macro, yo estoy trabado ahí.

Tengo un archivo y la hoja titula "ARCHIVO DE DECLARACIÓN", lo que estoy necesitando es por ej una tabla:
Col      Y                Z                 AA

Fila 2: Valor 19    Valor 20    Sucursal
Fila 3: 0                 0                 1A072
Fila 4: 0                 0                 3A072
Quiero intentar exportar a txt a través de código VBA y que el nombre que vaya a almacenar lo tome del titulo Sucursal de la Columna "AA" por ej empezando por 1A solamente de Fila2 a Fila3 luego exportar otro txt por separado para la Sucursal 3A es decir solamente de Fila2 y Fila4, así sucesivamente creando diferentes txt por Sucursal, ¿me explico?

1 respuesta

Respuesta
1

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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas