Jump to content
Fórum Script Brasil
  • 0

Problemas para inserir uma Tabela Dinâmica.


hugo.moreda

Question

Boa tarde,

Estou com um problema para inserir uma tabela dinâmica e gostaria da ajuda de vocês.

Tenho uma base em "Plan1" com 75 variáveis organizadas por colunas(75 colunas), e na primeira linha seus respectivos nomes

Gostaria de inserir uma Tabela Dinâmica em "Plan2" que funcionasse para qualquer extensão de linha que eu tiver na base. Pois as vezes a base é grande(muitas linhas) as vezes é pequena.

A princípio tentei fazer gravando. Funcionou durante um tempo, depois parou. Quero fazer uma agora sólida. Para não dar mais problema. Segue essa macro gravada. Ocorreu o erro '1004' nela.

Sub FazTabela()

' FazTabela Macro

'

Sheets("Plan2").Select

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _

"Plan1!R1C1:R65536C76", Version:=xlPivotTableVersion10).CreatePivotTable _

TableDestination:="Plan2!R1C1", TableName:="Tabela dinâmica1", _

DefaultVersion:=xlPivotTableVersion10

Sheets("Plan2").Select

Cells(1, 1).Select

End Sub

Depois Tentei a seguinte programação:

Sub CreatePivot()

'

Dim WSD As Worksheet

Dim PTCache As PivotCache

Dim PT As PivotTable

Dim PRange As Range

Dim FinalRow As Long

Set WSD = Worksheets("TabelaDinâmica")

For Each PT In WSD.PivotTables

PT.TableRange2.Clear

Next PT

FinalRow = WSD.Cells(Application.Rows.Count, 1).End(x1Up).Row

FinalCol = WSD.Cells(1, Application.Columns.Count).End(x1ToLeft).Column

Set PRange = WSD.Cells(1, 1).Resize(FinalRow, FinalCol)

Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=PRange.Address)

Set PT = PTCache.CreatePivotTable(TableDestination:=WSD.Cells(2, FinalCol + 2), TableName:="Tabela_dinamica1")

PT.ManualUpdate = True

PT.AddFields RowFields:=Array("idEmergencia", "Modalidad Viajem"), ColumnFields:="Transportadora"

With PT.PivotFields("Produto 1")

.Orientation = xlDataField

.Function = xlSum

.Position = 1

End With

PT.ManualUpdate = False

PT.ManualUpdate = True

PT.ShowTableStyleRowStripes = True

PT.TableStyle2 = "PivotStyleMedium10"

WSD.Activate

Range("J2").Select

End Sub

Muito obrigado!

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...