Notifications
Clear all

Tabela Dinâmica

1 Posts
1 Usuários
0 Reactions
771 Visualizações
(@viniciuscoelho)
Posts: 1
New Member
Topic starter
 

Possuo uma macro, onde ela remonta uma tabela dinâmica, seguindo as configurações do cliente, porém ela tem retornado erro nas etapas de configurações de:

DisplayMemberPropertyTooltips = False
CalculatedMembersInFilters = False

Sabem como resolver, para que pare de dar erro?

Segue abaixo o corpo do código:

Dim ultimaLinhaOrigem As Long

' Definida a planilha onde estão os dados de pivot
Set planilha_calculada = ThisWorkbook.Sheets("pivot")
' Última linha com dados de Quadro do Ativo
ultimaLinhaOrigem = 1048574
' Definindo a planilha de destino/Consolidação
Set dinamica = ThisWorkbook.Sheets("Espelho de Relatório")

' Certifique-se de que a planilha "pivot" está visível antes de realizar operações nela
planilha_calculada.Visible = xlSheetVisible
planilha_calculada.Select

Sheets("Espelho de Relatório").Select
Range("A6").Select
Application.Goto Reference:="R6C1"
Rows("6:6").Select
Range("A6").Activate
dinamica.Range("6:" & ultimaLinhaOrigem).Select
Selection.ClearContents
Rows("6:6").Select
Selection.AutoFilter
Application.Goto Reference:="R6C1"
Range("A6").Select
Sheets("Espelho de Relatório").Select
Application.Goto Reference:="R6C1"
Rows("6:6").Select
Range("A6").Activate
dinamica.Range("6:" & ultimaLinhaOrigem).Select
Selection.ClearContents
Application.Goto Reference:="R6C1"

' Ao final da execução, você pode ocultar a planilha "pivot" novamente se necessário
planilha_calculada.Visible = xlSheetHidden

' Certificar-se de que a planilha "pivot" está visível antes de realizar operações nela
planilha_calculada.Visible = xlSheetVisible

Sheets("Espelho de Relatório").Select
Rows("5:7").Select
Range("A7").Activate
Selection.EntireRow.Hidden = False
Range("A6").Select
Application.Goto Reference:="R6C1"


' Definir o intervalo de origem
Dim sourceRange As Range
Set sourceRange = planilha_calculada.UsedRange

' Criar a tabela dinâmica
ThisWorkbook.PivotTableWizard TableDestination:=dinamica.Range("A6"), _
TableName:="Relatorio Dinamico", SourceType:=xlDatabase, _
SourceData:="pivot!R1C1:R1048576C11"

' Obter a tabela dinâmica criada
Dim pivotTable As pivotTable
Set pivotTable = dinamica.PivotTables("Relatorio Dinamico")

' Desativar atualizações automáticas
pivotTable.ManualUpdate = True

' Configurar propriedades da tabela dinâmica
With pivotTable
.ColumnGrand = True
.HasAutoFormat = False
.DisplayErrorString = False
.DisplayNullString = True
.EnableDrilldown = True
.ErrorString = ""
.MergeLabels = False
.NullString = ""
.PageFieldOrder = 2
.PageFieldWrapCount = 0
.PreserveFormatting = True
.RowGrand = True
.SaveData = True
.PrintTitles = False
.RepeatItemsOnEachPrintedPage = True
.TotalsAnnotation = False
.CompactRowIndent = 2
.InGridDropZones = True
.DisplayMemberPropertyTooltips = False
.DisplayFieldCaptions = True
.DisplayContextTooltips = True
.ShowDrillIndicators = True
.PrintDrillIndicators = False
.SortUsingCustomLists = True
.FieldListSortAscending = False
.ShowValuesRow = False
.CalculatedMembersInFilters = False
.RowAxisLayout xlTabularRow
End With

' Ativar atualizações automáticas
pivotTable.ManualUpdate = False
pivotTable.Update

With ActiveSheet.PivotTables("Relatorio Dinamico").PivotCache
.RefreshOnFileOpen = False
.MissingItemsLimit = xlMissingItemsDefault
End With
ActiveSheet.PivotTables("Relatorio Dinamico").RepeatAllLabels 2
ActiveWorkbook.ShowPivotTableFieldList = True
With ActiveSheet.PivotTables("Relatorio Dinamico").PivotFields("Empresa")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Relatorio Dinamico").PivotFields("Classe")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("Relatorio Dinamico").PivotFields("Classe2")
.Orientation = xlRowField
.Position = 3
End With
ActiveSheet.PivotTables("Relatorio Dinamico").AddDataField ActiveSheet. _
PivotTables("Relatorio Dinamico").PivotFields("Depreciação"), _
"Soma de Depreciação", xlSum
ActiveSheet.PivotTables("Relatorio Dinamico").AddDataField ActiveSheet. _
PivotTables("Relatorio Dinamico").PivotFields("CAP Dt. Término"), _
"Soma de CAP Dt. Término", xlSum
ActiveSheet.PivotTables("Relatorio Dinamico").AddDataField ActiveSheet. _
PivotTables("Relatorio Dinamico").PivotFields("Vlr Contábil Dt. Término"), _
"Soma de Vlr Contábil Dt. Término", xlSum
ActiveSheet.PivotTables("Relatorio Dinamico").AddDataField ActiveSheet. _
PivotTables("Relatorio Dinamico").PivotFields("Deprec. Dt. Término"), _
"Soma de Deprec. Dt. Término", xlSum
ActiveSheet.PivotTables("Relatorio Dinamico").AddDataField ActiveSheet. _
PivotTables("Relatorio Dinamico").PivotFields("Deprec. Acum. Dt. Término"), _
"Soma de Deprec. Acum. Dt. Término", xlSum
ActiveSheet.PivotTables("Relatorio Dinamico").AddDataField ActiveSheet. _
PivotTables("Relatorio Dinamico").PivotFields("Crédito Balancete"), _
"Soma de Crédito Balancete", xlSum
ActiveSheet.PivotTables("Relatorio Dinamico").AddDataField ActiveSheet. _
PivotTables("Relatorio Dinamico").PivotFields("Saldo Balancete"), _
"Soma de Saldo Balancete", xlSum
ActiveWorkbook.ShowPivotTableFieldList = False
Rows("6:6").Select
Selection.EntireRow.Hidden = True
End Sub

Desde já, agradeço!

____________________________________

Editado pela Moderação. Motivo: Procure utilizar o botão Código (< >) sempre que for inserir código VBA ou Fórmulas.

 
Postado : 22/11/2023 4:05 pm