Macro para pasar textos de excel a varios archivos .txt

Antes que nada, espero tengan un gran día.

Tengo un problema para una macro, tengo un archivo de excel en donde la columna A contiene texto (A1:A1500) y la columna B (B1:B1500 contiene un ID único. Necesito que por cada fila del excel se guarde un archivo .txt independiente con el nombre que viene en la columna B y el contenido de ese archivo sea el texto de la misma fila pero en la columna A. Ejemplo

Celda A1: Texto1 Celda B1: Titulo1

Celda A2: Texto2 Celda B2: Titulo2

Celda A3: Texto3 Celda B1: Titulo3

En este ejemplo la macro debería generar 3 archivos .txt independientes guardados en la ubicación relativa del archivo dónde se guardó el excel.

Espero me puedan ayudar porque me he roto el coco pero no logro nada.

1 respuesta

Respuesta
2

Te anexo la macro, para generar un archivo txt por fila.

Sub Generar_Txt()
'Por.Dante Amor
    Set h1 = ActiveSheet
    ruta = ThisWorkbook.Path & "\"
    If Left(ruta, 1) <> "\" Then ruta = ruta & "\"
    For i = 1 To h1.Range("A" & Rows.Count).End(xlUp).Row
        nFileNum = FreeFile
        nombre = h1.Cells(i, "B").Value
        cadena = Empty
        Open ruta & nombre & ".txt" For Output As #nFileNum
            cadena = h1.Cells(i, "A").Value
        Print #nFileNum, cadena
        Close #nFileNum
    Next
    MsgBox "Fin"
End Sub

No entendí si en  el contenido del archivo solamente quieres el dato de la columna A o si quieres la columna A y B entonces cambia esta línea:

cadena = h1.Cells(i, "A").Value

Por esta:

cadena = h1.Cells(i, "A").Value & " " & h1.Cells(i, "B").Value

'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda

.

'

[

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas