Como hacer una macro que cree una tabla dinámica

Tengo un problema con una macro que grabe que me crea una tabla dinámica, me daba error 5, entre al foro donde indicaban que era fallas de microsoft, que debía modificar un poco el código, cosa que hice, pero ahora me da un error diferente, 1004 referencia no valida, también vi que había que modificar Hoja1! F1C1:F1048576C19 por Hoja1! R1C1:F1048576C19, por la fuestion de definición en ingles y español de filas, pero nada, me sigue dando el error 1004 y no se de verdad que mas hacer, si pudieras ayudarme anexo te envío el código original

Sub Macro12()
'
' Macro12 Macro
'
'
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Hoja1!F1C1:F1048576C19", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="Hoja4!F3C1", TableName:="Tabla dinámica1", _
DefaultVersion:=xlPivotTableVersion12
Sheets("Hoja4").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("PERIODO")
.Orientation = xlPageField
.Position = 1
End With
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("ESTADO")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("LOCALIDAD")
.Orientation = xlRowField
.Position = 2
End With
End Sub

y este el código modificado

Sub Macro10()
'
' Macro10 Macro
'
'
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Hoja1!R1C1:F1048576C19", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="", TableName:="Tabla dinámica1", _
DefaultVersion:=xlPivotTableVersion12
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("PERIODO")
.Orientation = xlPageField
.Position = 1
End With
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("ESTADO")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("LOCALIDAD")
.Orientation = xlRowField
.Position = 2
End With
End Sub

Respuesta
1

Me puedes enviar el archivo, para hacer pruebas.

[email protected]

Saludos. Dam

si ya te la envío, pero que necesitas? todo el archivo completo? es algo grande, ademas de tener otros elementos, el de la tabla dinámica seria uno de ellos.. dejame mandarte lo que pueda por correo

Mándame lo necesario para probar la macro con la tabla dinámica.

Comprime el archivo.

listo ya te lo envíe, muchas gracias por tu pronta respuesta..

Reemplaza en tu macro modificada este código

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Hoja1!R1C1:F1048576C19", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="", TableName:="Tabla dinámica1", _
DefaultVersion:=xlPivotTableVersion12

Por este código

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Hoja1!R1C1:R1048576C19").CreatePivotTable TableDestination:="", TableName:= _
"Tabla dinámica1", DefaultVersion:=xlPivotTableVersion10

Prueba y me dices

Saludos. Dam

Si te funciona.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas