Exportar hoja activa de excel a txt

Trabajo con diferentes hojas de excel, lo que necesito es que por favor a partir de la celda A4 a hasta el ultimo dato de la columna Q, no indico que lo exporte desde la A4 a la Q7, porque es variable la información que ingreso, a veces son 20 registros a veces 50 registros, etc. Es por eso que lo que necesito es ayuda en que la hoja activa partiendo desde la celda A4 hasta el ultimo registro de la columna Q partiendo de la celda Q4, lo exporte a texto plano delimitado por pipes |, pero antes poder elegir la carpeta donde guardar y la opción de ponerle nombre al archivo.

Desde ya muchas gracias por su atención.

Saludos cordiales

Jesús

1 Respuesta

Respuesta
2

H o l a  : Te anexo la macro

Sub ExportarArchivo()
'Por.Dante Amor
    Set h1 = ActiveSheet
    ruta = ThisWorkbook.Path & "\"
    '
    With Application.FileDialog(msoFileDialogSaveAs)
        .Title = "Guardar archivo como"
        .AllowMultiSelect = False
        .InitialFileName = ruta
        .FilterIndex = 18
        If Not .Show Then Exit Sub
        nombre = .SelectedItems(1)
    End With
    '
    nFileNum = FreeFile
    Open nombre & ".txt" For Output As #nFileNum
    u = h1.Range("A" & Rows.Count).End(xlUp).Row
    If u < 4 Then u = 4
    For Each r In h1.Range("A4:Q" & u).Rows
        For Each c In h1.Range(h1.Cells(r.Row, "A"), h1.Cells(r.Row, "Q"))
            cadena = cadena & c.Value & "|"
        Next
        Print #nFileNum, cadena
        cadena = Empty
    Next
    Close #nFileNum
    MsgBox "Datos exportados al archivo TXT"
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas