¿Cómo crear una tabla dinámica en una nueva hoja con VBA?

Crear una tabla dinámica en una nueva hoja utilizando VBA en Excel implica varios pasos. A continuación, te proporciono un ejemplo de cómo hacerlo. Este código asume que tienes un conjunto de datos en una hoja llamada «Hoja1» y que deseas crear la tabla dinámica en una nueva hoja.

Sub CrearTablaDinamica()
    Dim wsDatos As Worksheet
    Dim wsTablaDinamica As Worksheet
    Dim rangoDatos As Range
    Dim tablaDinamica As PivotTable
    Dim rangoDestino As Range
    Dim nombreTablaDinamica As String
    
    ' Establecer referencias a la hoja de datos
    Set wsDatos = ThisWorkbook.Sheets("Hoja1")
    
    ' Establecer el rango de datos (ajusta el rango según tus necesidades)
    Set rangoDatos = wsDatos.Range("A1").CurrentRegion
    
    ' Agregar una nueva hoja para la tabla dinámica
    Set wsTablaDinamica = ThisWorkbook.Sheets.Add
    wsTablaDinamica.Name = "TablaDinamica"

    ' Establecer el rango de destino para la tabla dinámica
    Set rangoDestino = wsTablaDinamica.Cells(1, 1)
    
    ' Crear un caché de tabla dinámica
    With ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=rangoDatos)
        ' Crear la tabla dinámica
        Set tablaDinamica = .CreatePivotTable(TableDestination:=rangoDestino, TableName:="MiTablaDinamica")
    End With
    
    ' Configurar la tabla dinámica (ajusta según tus necesidades)
    With tablaDinamica
        ' Agregar campos a la tabla dinámica
        .PivotFields("NombreCampoFilas").Orientation = xlRowField
        .PivotFields("NombreCampoColumnas").Orientation = xlColumnField
        .PivotFields("NombreCampoValores").Orientation = xlDataField
    End With
    
    ' Ajustar los nombres de los campos a los que tienes en tus datos
    ' Ejemplo:
    ' .PivotFields("Campo1").Orientation = xlRowField
    ' .PivotFields("Campo2").Orientation = xlColumnField
    ' .PivotFields("Campo3").Orientation = xlDataField
End Sub

Instrucciones:

  • Abre Excel y pulsa `Alt + F11` para abrir el editor de VBA.
  • Haz clic en `Insertar` en el menú y selecciona `Módulo` para crear un nuevo módulo.
  • Copia el código VBA arriba en el módulo.
  • Asegúrate de ajustar el nombre de la hoja de origen y los rangos de campos de acuerdo a la estructura de tus datos.
  • Cierra el editor de VBA y vuelve a Excel.
  • Ejecuta la macro pulsando `Alt + F8`, seleccionando `CrearTablaDinamica` y haciendo clic en `Ejecutar`.

Este script crea una nueva hoja con una tabla dinámica básica. Asegúrate de ajustar los nombres de los campos en el script para que coincidan con los de tus datos. ¡Espero que esto te sea útil!

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