¿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 nuestros servicios

Conoce nuestra tienda

No se pudieron obtener los productos de la API.

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Deja un comentario