Contenido
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!