Contenido
Para exportar una tabla dinámica a un archivo CSV utilizando VBA en Excel, puedes seguir estos pasos. El siguiente código VBA te guiará a través del proceso:
Sub ExportPivotTableToCSV()
Dim ws As Worksheet
Dim pt As PivotTable
Dim rng As Range
Dim csvFilePath As String
Dim cell As Range
Dim csvContent As String
' Especifica el nombre de la hoja de trabajo y la tabla dinámica
Set ws = ThisWorkbook.Sheets("NombreDeLaHoja") ' Cambia "NombreDeLaHoja" por el nombre de tu hoja
Set pt = ws.PivotTables("NombreDeLaTablaDinamica") ' Cambia "NombreDeLaTablaDinamica" por el nombre de tu tabla dinámica
' Establece el rango de datos de la tabla dinámica
Set rng = pt.TableRange1
' Establece la ruta y el nombre del archivo CSV
csvFilePath = ThisWorkbook.Path & "TablaDinamica.csv"
' Recorre cada celda en el rango de la tabla dinámica y forma el contenido CSV
For Each cell In rng
csvContent = csvContent & cell.Value & IIf(cell.Column = rng.Columns.Count, vbCrLf, ",")
Next cell
' Escribe el contenido CSV en el archivo
With CreateObject("Scripting.FileSystemObject").CreateTextFile(csvFilePath, True, True)
.Write csvContent
.Close
End With
MsgBox "La tabla dinámica ha sido exportada a " & csvFilePath, vbInformation
End Sub
- Asegúrate de identificar el nombre de la hoja de trabajo que contiene la tabla dinámica y el nombre de la tabla dinámica que deseas exportar.
- Luego, utiliza el siguiente script VBA para extraer los datos de la tabla dinámica y guardarlos en un archivo CSV:
Explicación del código:
- Cambia `»NombreDeLaHoja»` y `»NombreDeLaTablaDinamica»` por el nombre de la hoja de Excel y de la tabla dinámica que deseas exportar.
- `csvFilePath` determina dónde se guardará el archivo CSV. En este ejemplo, se guarda en la misma ubicación que el archivo Excel.
- El script recorre el rango de la tabla dinámica y construye una cadena de texto con el formato CSV.
- Finalmente, utiliza el objeto `FileSystemObject` para crear y escribir el contenido en un archivo CSV.
Para ejecutar el script:
- Abre Excel y presiona `ALT + F11` para abrir el Editor de Visual Basic.
- Inserta un nuevo módulo navegando a `Insertar > Módulo`.
- Copia y pega el código en el módulo.
- Presiona `F5` para ejecutar el script o cierra el editor y usa el acceso directo `ALT + F8` en Excel para seleccionar y ejecutar el script por su nombre.
Este código debería crear y guardar un archivo CSV con los datos de tu tabla dinámica en la ubicación especificada.