¿Cómo exportar una tabla dinámica a un archivo CSV con VBA?

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.

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

Deja un comentario