Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas para inserir uma Tabela Dinâmica.


hugo.moreda

Pergunta

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 para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...