Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Utilize essa sessão para criar tópicos relacionados a tabelas dinâmicas, formatações condicionais, subtotais, filtros, etc
#56806
Boa tarde pessoal, tudo bem? Espero que sim.
No arquivo anexo tenho 3 segmentações de dados para a mesma contagem de uma tabela dinâmica.
Gostaria que cada um dos 2 botões destas segmentações fizessem ligar ou desligar uma imagem.
Outra coisa é fazer este mesmo procedimento, mas com um botão criado a partir de uma forma, neste caso, o mesmo botão liga e desliga a imagem.
Vi estes códigos em uma aula, mas perdi o link e infelizmente não decorei....

Desde já agradeço a colaboração de todos.
Bom fim de semana.
Você não está autorizado a ver ou baixar esse anexo.
#56851
Veja se é isso o que deseja.

Código para mostrar e ocultar todas as imagens
Código: Selecionar todos
Public Sub Mostrar_Esconder_Imagens()
    Dim shpForma        As Shape
    Dim bolMostrar      As Boolean
    
    bolMostrar = wshPrincipal.Range("XFD1").Value
    wshPrincipal.Range("XFD1").Value = Not bolMostrar
    
    For Each shpForma In wshPrincipal.Shapes
        Select Case shpForma.Name
            Case "dúvida", "dúvida não", "máscara", "máscara não", "positivo", "positivo não"
                shpForma.Visible = bolMostrar
        End Select
    Next shpForma
End Sub

Código para clicar na segmentação de dados e aparecer as imagens selecionadas
Código: Selecionar todos
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
    Application.ScreenUpdating = False
    
    With wshAux
        If .Range("A2") = "sim" And .Range("A3") = vbNullString Then
            wshPrincipal.Shapes("dúvida").Visible = True
            wshPrincipal.Shapes("dúvida não").Visible = False
        ElseIf .Range("A2") = "não" And .Range("A3") = vbNullString Then
            wshPrincipal.Shapes("dúvida").Visible = False
            wshPrincipal.Shapes("dúvida não").Visible = True
        Else
            wshPrincipal.Shapes("dúvida").Visible = False
            wshPrincipal.Shapes("dúvida não").Visible = False
        End If
        
        
        If .Range("C2") = "sim" And .Range("C3") = vbNullString Then
            wshPrincipal.Shapes("máscara").Visible = True
            wshPrincipal.Shapes("máscara não").Visible = False
        ElseIf .Range("C2") = "não" And .Range("C3") = vbNullString Then
            wshPrincipal.Shapes("máscara").Visible = False
            wshPrincipal.Shapes("máscara não").Visible = True
        Else
            wshPrincipal.Shapes("máscara").Visible = False
            wshPrincipal.Shapes("máscara não").Visible = False
        End If
        
        If .Range("E2") = "sim" And .Range("E3") = vbNullString Then
            wshPrincipal.Shapes("positivo").Visible = True
            wshPrincipal.Shapes("positivo não").Visible = False
        ElseIf .Range("E2") = "não" And .Range("E3") = vbNullString Then
            wshPrincipal.Shapes("positivo").Visible = False
            wshPrincipal.Shapes("positivo não").Visible = True
        Else
            wshPrincipal.Shapes("positivo").Visible = False
            wshPrincipal.Shapes("positivo não").Visible = False
        End If
    End With
    
    Application.ScreenUpdating = True
End Sub
Você não está autorizado a ver ou baixar esse anexo.
#56875
Boa noite Babdallas, tudo bem?
Certeiro como sempre, cara!!! Parabéns!!! e muito, muito obrigado.
Desta vez o código foi pesado para eu acompanhar....rsrsrsrs.....muito abstrato....rsrsrrs
Ficou um pequeno "bug"...
Nas segmentações....da esquerda para direita....se eu seleciono...não...não...não....a primeira segmentação inverte os botões sim e não....e se clicar em sim (sem limpar os filtros) ele desaparece todas as imagens...
Valeu novamente.
#56876
As segmentações de dados estavam conectadas erroneamente com as tabelas dinâmicas. Arrumei. Veja se corrigiu.
Você não está autorizado a ver ou baixar esse anexo.
#56912
Boa tarde Babdallas, tudo bem?
Show meu amigo, pelo que testei aqui agora ficou redondinho....exatamente o que queria....
Aproveitando o tópico...
Neste meio tempo tentei fazer uma outra segmentação, mas criando os botões com formas e gravando macros (arquivo anexo).
A questão é que preciso proteger a planilha contra edições, pq é um dashboard...
Sei fazer este procedimento mesmo com as segmentação de dados nativa, sem problemas, mas.....
Utilizando os botões que criei, quando eles trocam de cor, dá erro de depuração pq a planilha está protegida.
Teria como bloquear a movimentação ou edição estes botões, mas sem dar esse erro??

Obrigado, gde abraço.
Você não está autorizado a ver ou baixar esse anexo.
#56916
Esta pasta de trabalho que você anexou não tem código algum. Poderia anexar o que você tentou fazer? Preciso entender melhor o que você deseja.
#56963
Veja se atende. Coloquei no código a destroteção e proteção da planilha com senha 123.
Você não está autorizado a ver ou baixar esse anexo.
#56989
Boa noite Babdallas, tudo bem?
No arquivo que vc enviou, não sei por que, os objetos não estavam protegidos contra edição mesmo com as cxs de edição de cenário e de objeto desmarcadas, mas passei o código para o meu arquivo e tudo funcionou normal.
Mais uma vez muito obrigado.
Gde abraço.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord