Anderson Gouveia Postado Novembro 5, 2008 Denunciar Share Postado Novembro 5, 2008 Pessoal, boa tarde!Preciso criar uma tabela dinâmica via VBA pra uma planilha aqui do trampo.Tentei pelo método noob ( clicar no botãozinho de gravar ....), até aí tudo beleza, mas depois, quando mando rodar a macro aparece o seguinte erro:"Erro em tempo de execução '5':Argumento ou chamada de procedimento inválida"O depurador do VBA aponta pra esta entrada do código:ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "Abertos!L1C1:L1048576C44", Version:=xlPivotTableVersion12).CreatePivotTable _ TableDestination:="Totalizador!L1C1", TableName:="Tabela dinâmica4", _ DefaultVersion:=xlPivotTableVersion12Se alguém puder me ajudar, ficarei imensamente grato.Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Knupp Postado Novembro 5, 2008 Denunciar Share Postado Novembro 5, 2008 cara o erro 5 é porque você esta excedendo o intervalo de valores permitidos. Os seu dados vão até a linha 1.048.576 mesmo? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Anderson Gouveia Postado Novembro 5, 2008 Autor Denunciar Share Postado Novembro 5, 2008 Renato, primeiramente obrigado pela resposta.Entendi o que você disse, eu estava selecionando TODA a planilha pra montar a tabela.Porém, mesmo selecionando somente o intervalo onde estão os dados que eu quero por na tabela, o erro ainda aparece.o código ficou assim:Range("A1").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "Abertos!L1C1:L278C44", Version:=xlPivotTableVersion12).CreatePivotTable _ TableDestination:="Totalizador!L1C1", TableName:="Tabela dinâmica1", _ DefaultVersion:=xlPivotTableVersion12Preciso fazer alguma declaração de variável, tipo "Dim tabela as object"??Não manjo muito de VBA mas preciso demais dessa planilha automatizada.Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Knupp Postado Novembro 5, 2008 Denunciar Share Postado Novembro 5, 2008 cara criar uma tabela dinâmica é algo um pouco complicado para explicar sem ver sua planilha, faz o seguinte me manda seu e-mail que eu te envio uma planilha aqui que cria uma tabela e está toda comentada, vai ficar bem facil de entender e você visualizar o que está colocando de errado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Anderson Gouveia Postado Novembro 5, 2008 Autor Denunciar Share Postado Novembro 5, 2008 Beleza cara, vou mandar via PM ok?Estive lendo no site da Microsoft e parece que é um problema do Excel 2007 mesma, segue o link:http://support.microsoft.com/kb/940166/en-us Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Knupp Postado Novembro 6, 2008 Denunciar Share Postado Novembro 6, 2008 já te enviei. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lucioviper Postado Setembro 19, 2009 Denunciar Share Postado Setembro 19, 2009 e conseguiu resolver?? como? estou com o mesmo problema Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 os loucos Postado Janeiro 22, 2010 Denunciar Share Postado Janeiro 22, 2010 Renato, primeiramente obrigado pela resposta.Entendi o que você disse, eu estava selecionando TODA a planilha pra montar a tabela.Porém, mesmo selecionando somente o intervalo onde estão os dados que eu quero por na tabela, o erro ainda aparece.o código ficou assim:Range("A1").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "Abertos!L1C1:L278C44", Version:=xlPivotTableVersion12).CreatePivotTable _ TableDestination:="Totalizador!L1C1", TableName:="Tabela dinâmica1", _ DefaultVersion:=xlPivotTableVersion12Preciso fazer alguma declaração de variável, tipo "Dim tabela as object"??Não manjo muito de VBA mas preciso demais dessa planilha automatizada.Abraços!ae manotenta ai-------------------------------------------------------------------------------------------------------------------------------------Dim area As Range, intervalo As Range' o problema é que o intervalo fica fixo, portanto jogue dentro de uma variavel o intervalo desejado.' por exemplo: Selection, Selection.End(xlToRight)) é igual a ctrl+shift seta pro lado, e a outra seta pra baixo Set area = Union(Range(Selection, Selection.End(xlToRight)), Range(Selection, Selection.End(xlDown))) area.Select ActiveWorkbook.Names.Add Name:="intervalo", RefersToR1C1:=area ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "intervalo").CreatePivotTable TableDestination:="", TableName:= _ "Tabela dinâmica1" Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Anderson Gouveia
Pessoal, boa tarde!
Preciso criar uma tabela dinâmica via VBA pra uma planilha aqui do trampo.
Tentei pelo método noob ( clicar no botãozinho de gravar ....), até aí tudo beleza, mas depois, quando mando rodar a macro aparece o seguinte erro:
"Erro em tempo de execução '5':
Argumento ou chamada de procedimento inválida"
O depurador do VBA aponta pra esta entrada do código:
Se alguém puder me ajudar, ficarei imensamente grato.
Abraços!
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
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.