Usuário com melhor resposta
Seleção Conectada entre duas Caixas de Segmentação de Dados (Slicer)

Pergunta
-
Olá,
Gostaria de obter uma ajuda com uma solução em VBA.
Tenho duas tabelas dinâmicas, cada uma gerada de uma base de dados.
O objetivo é que ao selecionar um dos itens na segmentação de dados, o mesmo item seja selecionado na outra caixa de segmentação.
Como poderia fazer isso?
Obrigado,
Respostas
-
Olá! Como não sei os itens da sua caixa de segmentação, vou postar um código supondo que item de segmentação é "Estado", que contém 3 valores: "São Paulo", "Rio de Janeiro" e "Minas", então a partir deste código você altera conforme sua necessidade:
Private Sub Worksheet_Change(ByVal Target As Range) Dim bMG As Boolean Dim bSP As Boolean Dim bRJ As Boolean ' bMG = ActiveWorkbook.SlicerCaches("SegmentaçãodeDados_Estado").SlicerItems("minas").Selected bSP = ActiveWorkbook.SlicerCaches("SegmentaçãodeDados_Estado").SlicerItems("São Paulo").Selected bRJ = ActiveWorkbook.SlicerCaches("SegmentaçãodeDados_Estado").SlicerItems("Rio de Janeiro").Selected With ActiveWorkbook.SlicerCaches("SegmentaçãodeDados_Estado1") .SlicerItems("Minas").Selected = bMG .SlicerItems("São Paulo").Selected = bSP .SlicerItems("Rio de Janeiro").Selected = bRJ End With End Sub
O código deve ser adicionado ao módulo da planilha onde está a primeira tabela dinâmica criada.
Tente adaptar e qualquer dúvida pergunte.
Abs!
Rafael Kamimura
- Editado Rafael Kamimura sábado, 27 de dezembro de 2014 14:26
- Sugerido como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 27 de dezembro de 2014 17:08
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator quinta-feira, 8 de janeiro de 2015 12:42
Todas as Respostas
-
Olá! Como não sei os itens da sua caixa de segmentação, vou postar um código supondo que item de segmentação é "Estado", que contém 3 valores: "São Paulo", "Rio de Janeiro" e "Minas", então a partir deste código você altera conforme sua necessidade:
Private Sub Worksheet_Change(ByVal Target As Range) Dim bMG As Boolean Dim bSP As Boolean Dim bRJ As Boolean ' bMG = ActiveWorkbook.SlicerCaches("SegmentaçãodeDados_Estado").SlicerItems("minas").Selected bSP = ActiveWorkbook.SlicerCaches("SegmentaçãodeDados_Estado").SlicerItems("São Paulo").Selected bRJ = ActiveWorkbook.SlicerCaches("SegmentaçãodeDados_Estado").SlicerItems("Rio de Janeiro").Selected With ActiveWorkbook.SlicerCaches("SegmentaçãodeDados_Estado1") .SlicerItems("Minas").Selected = bMG .SlicerItems("São Paulo").Selected = bSP .SlicerItems("Rio de Janeiro").Selected = bRJ End With End Sub
O código deve ser adicionado ao módulo da planilha onde está a primeira tabela dinâmica criada.
Tente adaptar e qualquer dúvida pergunte.
Abs!
Rafael Kamimura
- Editado Rafael Kamimura sábado, 27 de dezembro de 2014 14:26
- Sugerido como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 27 de dezembro de 2014 17:08
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator quinta-feira, 8 de janeiro de 2015 12:42
-
-
-