Convertir selección a TXT o CSV en Excel (macro)
¿Cómo podemos convertir automáticamente una selección de rango a un archivo TXT o CSV mediante el uso de macros en Excel?
Las siguientes macros nos permiten ejecutar una macro que realiza una copia de los datos seleccionados y los guarda dentro de un archivo de formato .txt o .csv.
La instrucción a copiar dentro de un nuevo módulo de vba es la siguiente:
CONVERTIR SELECCIÓN A TXT EN EXCEL
Sub ExportarSeleccionATXT()
Dim R As Range
Dim ruta As String, archivo As String
Dim fila As Range, celda As Range
If TypeName(Selection) <> "Range" Then
MsgBox "Seleccioná un rango antes de ejecutar la macro.", vbExclamation
Exit Sub
End If
Set R = Selection
ruta = ThisWorkbook.Path & "\"
archivo = ruta & "Exportado_" & Format(Now, "yyyymmdd_hhmmss") & ".txt"
Open archivo For Output As #1
For Each fila In R.Rows
Dim linea As String: linea = ""
For Each celda In fila.Cells
linea = linea & celda.Value & vbTab
Next celda
linea = Left(linea, Len(linea) - 1)
Print #1, linea
Next fila
Close #1
MsgBox "TXT creado correctamente:" & vbCrLf & archivo
End Sub
|
CONVERTIR SELECCIÓN A CSV EN EXCEL
Sub ExportarSeleccionACSV()
Dim R As Range
Dim ruta As String, archivo As String
Dim fila As Range, celda As Range
If TypeName(Selection) <> "Range" Then
MsgBox "Seleccioná un rango antes de ejecutar la macro.", vbExclamation
Exit Sub
End If
Set R = Selection
ruta = ThisWorkbook.Path & "\"
archivo = ruta & "Exportado_" & Format(Now, "yyyymmdd_hhmmss") & ".csv"
Open archivo For Output As #1
For Each fila In R.Rows
Dim linea As String: linea = ""
For Each celda In fila.Cells
linea = linea & celda.Value & ","
Next celda
linea = Left(linea, Len(linea) - 1)
Print #1, linea
Next fila
Close #1
MsgBox "CSV creado correctamente:" & vbCrLf & archivo
End Sub
|
Notar que nombramos a las macros «ExportarSeleccionATXT» y «ExportarSeleccionACSV» y que el archivo se generará en el mismo directorio o ruta donde se encuentre el archivo de Excel original.
De esta forma logramos convertitr una selección de datos a TXT o CSV de forma rápida y fácil mediante macros en Excel.
Te recomiendo ver el siguiente link con más videos de Macros útiles de Excel AQUÍ.
¿No sabés como instalar esta macro? ¡No te preocupes! Aquí está la solución:
TUTORIALSalvo aclaración, todas las fórmulas y macros de este sitio están configuradas para aplicarse sobre la celda A1. Algunas fórmulas se encuentran encerradas entre llaves {} debido a que son fórmulas matriciales. Estas llaves no deben introducirse tecleándolas, sino que se generan automáticamente al aceptar la fórmula pulsando Control+Shift+Enter al mismo tiempo. Las fórmulas de este sitio son compatibles con versiones de Microsoft Excel® 2010 o superiores.
