Tabela dinâmica com...
 
Notifications
Clear all

Tabela dinâmica com várias planilhas

20 Posts
2 Usuários
0 Reactions
5,330 Visualizações
 Skol
(@skol)
Posts: 10
Active Member
Topic starter
 

Bom dia pessoal!

Procurei aqui e o único exemplo que encontrei dá erro ao descompactar o arquivo, mas vamos lá.

Tenho uma pasta de trabalho com duas planilhas de dados anuais, quero em uma tabela dinâmica filtrar estes dados por empresa, ano, mês. Como fazer isto? Já tentei mas não consegui de jeito nenhum.

Segue anexo para apreciação.

Desde já agradeço a atenção.

 
Postado : 16/12/2013 7:50 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Mas você precisa das duas guias ("2012", "2013"), resumida na guia "Tabela Dinâmica"?

Qual versão do Office você usa?

Att

 
Postado : 16/12/2013 7:53 am
 Skol
(@skol)
Posts: 10
Active Member
Topic starter
 

Sim, preciso do resumo na terceira guia.

Uso o Office 2010.

 
Postado : 16/12/2013 8:01 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Poderia ser por macro?

Sub AleVBA_9934()
Dim ws As Worksheet, ws1 As Worksheet, LR As Long

Set ws1 = Sheets("Tabela Dinâmica")
If MsgBox("Limpar os dados existentes da guia Tabela Dinâmica?", vbYesNo, "Confirmação") = vbYes Then ws1.Cells.Clear

For Each ws In Worksheets
    If ws.Name <> ws1.Name Then
        LR = ws.Range("A" & Rows.Count).End(xlUp).Row
        ws.Range("A2:K" & LR).Copy ws1.Range("A" & Rows.Count).End(xlUp).Offset(1)
    End If
Next ws

End Sub

Att

 
Postado : 16/12/2013 8:07 am
 Skol
(@skol)
Posts: 10
Active Member
Topic starter
 

Olha, até pode, mas não tenho acesso ao VB aqui no trabalho, neste caso terei que chegar em casa para testar e retornar se deu certo.

 
Postado : 16/12/2013 8:17 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

mas não tenho acesso ao VB aqui no trabalho

Como assim :? :?

No seu serviço, seu Office é privado de VBE?

Att

 
Postado : 16/12/2013 8:23 am
 Skol
(@skol)
Posts: 10
Active Member
Topic starter
 

Olha, até pode, mas não tenho acesso ao VB aqui no trabalho, neste caso terei que chegar em casa para testar e retornar se deu certo.

Isso mesmo, o VBA não está instalado.

 
Postado : 16/12/2013 8:26 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Como eu acho mais viável por VBA, eu vou deixa os colegas postar via formula (dependendo da quantidade de dados ficará muito pesada)

Vamos aguardar.

Att

 
Postado : 16/12/2013 8:31 am
 Skol
(@skol)
Posts: 10
Active Member
Topic starter
 

Ok, vamos aguardar, mas vou fazer via VBA em casa para ver como fica.

Bom dia!!

Como eu acho mais viável por VBA, eu vou deixa os colegas postar via formula (dependendo da quantidade de dados ficará muito pesada)

Vamos aguardar.

Att

Ok, vamos aguardar, mas vou fazer via VBA em casa para ver como se comporta.

Obrigado.

 
Postado : 16/12/2013 8:35 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!

Já usei este modelo do site Contextures e funcionou muito bem, segue abaixo o link:

http://www.contextures.com/xlPivot08.html

Obs. para não dar erro o número de colunas devem ser iguais em ambas as planilhas.

Doni

 
Postado : 16/12/2013 1:12 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!
Olá Skol...

...Segue versão VBA com um modelo, faça os teste e veja se realmente é isso...
http://www.sendspace.com/file/7mkgvq

Att

 
Postado : 16/12/2013 1:38 pm
 Skol
(@skol)
Posts: 10
Active Member
Topic starter
 

Bom dia!!

Poderia ser por macro?

Sub AleVBA_9934()
Dim ws As Worksheet, ws1 As Worksheet, LR As Long

Set ws1 = Sheets("Tabela Dinâmica")
If MsgBox("Limpar os dados existentes da guia Tabela Dinâmica?", vbYesNo, "Confirmação") = vbYes Then ws1.Cells.Clear

For Each ws In Worksheets
    If ws.Name <> ws1.Name Then
        LR = ws.Range("A" & Rows.Count).End(xlUp).Row
        ws.Range("A2:K" & LR).Copy ws1.Range("A" & Rows.Count).End(xlUp).Offset(1)
    End If
Next ws

End Sub

Att

Olá amigo,

Não consegui encontrar o VBA no meu Office 2013, precisa instalar?

Att.

 
Postado : 16/12/2013 5:08 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Se eu considerar que está instalado use as teclas (Alt + F11)

http://juliobattisti.com.br/tutoriais/e ... cel001.asp

Att

 
Postado : 16/12/2013 5:16 pm
 Skol
(@skol)
Posts: 10
Active Member
Topic starter
 

Bom dia!!

Poderia ser por macro?

Sub AleVBA_9934()
Dim ws As Worksheet, ws1 As Worksheet, LR As Long

Set ws1 = Sheets("Tabela Dinâmica")
If MsgBox("Limpar os dados existentes da guia Tabela Dinâmica?", vbYesNo, "Confirmação") = vbYes Then ws1.Cells.Clear

For Each ws In Worksheets
    If ws.Name <> ws1.Name Then
        LR = ws.Range("A" & Rows.Count).End(xlUp).Row
        ws.Range("A2:K" & LR).Copy ws1.Range("A" & Rows.Count).End(xlUp).Offset(1)
    End If
Next ws

End Sub

Att

Olá amigo,

Não consegui encontrar o VBA no meu Office 2013, precisa instalar?

Att.

Boa tarde!!
Olá Skol...

...Segue versão VBA com um modelo, faça os teste e veja se realmente é isso...
http://www.sendspace.com/file/7mkgvq

Att

Não serve, quando copio os dados dá o seguinte erro: Erro em tempo de execução "5" argumento ou chamada de procedimento inválida.

Consegui fazer usando a macro, mas eu não quero só copiar os dados para uma única planilha, e sim como falei no exemplo, eu quero uma tabela dinâmica.

Ainda no aguardo de solução.

Att.

 
Postado : 16/12/2013 5:31 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Então porque a dica do Doni, não resolve seu caso (Neste caso, eunão vejo diferença da TD para VBA)?
http://www.contextures.com/xlPivot08.html

Att

 
Postado : 16/12/2013 6:01 pm
Página 1 / 2