Macro guardar Excel en Archivo de Texto (txt)

17 abr 2020

Macro guardar Excel en Archivo de Texto (txt)


En muchas ocasiones por necesidades necesitamos guardar nuestra hoja de Excel en un archivo txt y en muchas ocasiones lo hacemos de forma manual, pero hoy le compartiré una macro para hacer es tarea en automático.

A continuación les explicare como guardar la hoja activa de Excel en un archivo de texto:

1. Abrir el editor Visual Basic para Aplicaciones (VBA).

2. en la cinta de opciones en el menú Insertar… módulo

3. dentro del módulo:
     A) creamos el nombre de nuestra macro:

sub Guardar_en_TxT ()


B) Copiamos las celdas de nuestra hoja activa (se puede establecer un rango y se puede crean con caracteres limitadores),

ActiveSheet.cells.Copy

C) Se crea un nuevo libro de Excel, (es el que se va a guardar en txt)

Workbooks.Add

D) Pegamos las celda copiadas anteriormente

ActiveSheet.Paste

E) eliminamos el modo Copy

Application.CutCopyMode = False


F) Obtenemos la ruta donde se guardará nuestro archivo con la variable "Direccion"

Direccion = Application.GetSaveAsFilename(InitialFileName:="Tú archivo", fileFilter:="archApplicationivos de texto (*.txt), *.txt", Title:="Guardar libro Como:")


G) Guardamos el archivo txt en la ruta obtenida anteriormente.
   
ActiveWorkbook.SaveAs Filename:=Direccion, FileFormat:=xlText, CreateBackup:=False


H) cerramos el libro de Excel que creamos sin guardar los cambios de dicho libro.

ActiveWorkbook.Close savechanges:=False


I) creamos de manera opcional un mensaje que no indicará la ruta de nuestro txt, con la variable              "Direccion"

MsgBox Direccion


J) Cerramos nuestra macro

end sub

4. Al final nuestra macro va a quedar de la siguiente manera:

sub Guardar_en_TxT ()
ActiveSheet.cells.Copy
Workbooks.Add
ActiveSheet.Paste
Application.CutCopyMode = False
Direccion = Application.GetSaveAsFilename(InitialFileName:="Tú archivo", fileFilter:="archApplicationivos de texto (*.txt), *.txt", Title:="Guardar libro Como:")
    ActiveWorkbook.SaveAs Filename:=Direccion, FileFormat:=xlText, CreateBackup:=False
   ActiveWorkbook.Close savechanges:=False
MsgBox Direccion
end sub

2 comentarios :

  1. buenos días como hago para que el plano que exporta quede delimitado por comas

    ResponderBorrar
    Respuestas
    1. hola, buen día, este código solo guarda en txt, para que lo puedas obtener con comas tendras que concatenar en otra hoja y guardar esa como como txt

      Borrar