Tabla dimamica ejecutada desde una macro

La pregunta eslasiguiete, como hacer que se ejecute una tabla dinamicadesdeunamacroque cree, ladesarrollocorrectamente pero me aparece un error y no mesale la tabla ya intente de todoperono he podido.
Este es elerror que me genera
'
' Macro1 Macro
'
'
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"A ACTAS!R4C53:R47C94", Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:="Hoja1!R3C1", TableName:="Tabla dinámica1", _
DefaultVersion:=xlPivotTableVersion10
Sheets("Hoja1").Select
Cells(3, 1).Select
ActiveSheet.PivotTables("Tabla dinámica1").AddDataField ActiveSheet.PivotTables _
("Tabla dinámica1").PivotFields("CODIGO"), "Suma de CODIGO", xlSum
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("ACTA .NO")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("PROPIETARIO")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields( _
"DIRECCION ESTABLECIMIENTO")
.Orientation = xlRowField
.Position = 3
End With
ActiveWorkbook.ShowPivotTableFieldList = False
End Sub

1 respuesta

Respuesta
1
Pues el problema creo yo que es el nombre de la hoja, ya que no siempre será con el mismo nombre, pero lo que puedes hacer es que luego de crear la hoja, darle un mobre para que así la puedas llamr si preocupacion de errores, prueba con el siguiente codigo y me avisas.
Sheets. Add
ActiveSheet.Name = "Tabla"
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"A ACTAS!R4C53:R47C94", Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:="Hoja1!R3C1", TableName:="Tabla dinámica1", _
DefaultVersion:=xlPivotTableVersion10
Sheets("Hoja1").Select
Cells(3, 1).Select
ActiveSheet.PivotTables("Tabla dinámica1").AddDataField ActiveSheet.PivotTables _
("Tabla dinámica1").PivotFields("CODIGO"), "Suma de CODIGO", xlSum
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("ACTA .NO")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("PROPIETARIO")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields( _
"DIRECCION ESTABLECIMIENTO")
.Orientation = xlRowField
.Position = 3
End With
ActiveWorkbook.ShowPivotTableFieldList = False
End Sub
gracias por la respuesta, la verdad ya lo hice pero no funciona, ,me siguen dsaliendo errores, y no se que ,mas hacer, la idea es que no se depronta tenga otra forma de hacerlo mas censillo.
gracias
german herrera
Le hice unos cambios, prueba y me avisas
Sheets. Add
ActiveSheet.Name = "Tabla"
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"A ACTAS!R4C53:R47C94", Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:="Tabla!R3C1", TableName:="Tabla dinámica1", _
DefaultVersion:=xlPivotTableVersion10
Sheets("Tabla").Select
Cells(3, 1).Select
ActiveSheet.PivotTables("Tabla dinámica1").AddDataField ActiveSheet.PivotTables _
("Tabla dinámica1").PivotFields("CODIGO"), "Suma de CODIGO", xlSum
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("ACTA .NO")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("PROPIETARIO")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields( _
"DIRECCION ESTABLECIMIENTO")
.Orientation = xlRowField
.Position = 3
End With
ActiveWorkbook.ShowPivotTableFieldList = False
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas