Note: The other languages of the website are Google-translated. Back to English

Como ocultar ou reexibir uma determinada forma com base no valor de célula especificado no Excel?

Na verdade, uma determinada forma pode ser ocultada ou mostrada com base no valor de uma célula especificada. O método a seguir pode ajudá-lo.

Ocultar ou exibir uma determinada forma com base no valor de célula especificado com código VBA


Ocultar ou exibir uma determinada forma com base no valor de célula especificado com código VBA


Por exemplo, você deseja reexibir uma determinada forma ao inserir o número 1 na célula A1 ou ocultar essa forma se a célula A1 tiver outros valores. Execute o seguinte código VBA para obtê-lo.

1. Clique com o botão direito na guia da folha que contém a forma que você ocultará ou exibirá e clique em Ver código no menu do botão direito.

2. Então o Microsoft Visual Basic para Aplicações janela aparece. Copie e cole o código VBA abaixo no Código janela.

Código VBA: ocultar ou exibir uma determinada forma com base no valor de célula especificado

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row = 1 And Target.Column = 1 Then _
        Me.Shapes("Oval 6").Visible = (Cells(1, 1).Value = 1)
End Sub

Notas: No código:

1) Linha = 1 e às Coluna = 1 indicam a célula específica que está localizada na linha um e na coluna um, Células (1, 1) é a célula A1 correspondente.
2) Valor = 1, o número 1 é o valor específico no qual você deseja mostrar a forma.
3) "Oval 6Ӄ o nome de uma determinada forma.

Você pode alterá-los com base nas suas necessidades.

3. aperte o outro + Q simultaneamente para fechar o Microsoft Visual Basic para Aplicações janela.

A partir de agora, ao inserir o número 1 na célula A1, a forma “Oval 6” é exibida. Mas se você inserir outro valor, como o número 2 na célula A1, a forma “Oval 6” será ocultada imediatamente.


Artigos relacionados:


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Teste gratuito de 30 dias com recursos completos. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório
Comentários (11)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Isso funciona muito bem para mim, desde que o valor inserido seja um número. Eu preciso que funcione em letras como ABC etc: quando eu uso letras, ele funciona de trás para frente, digite A e ele se esconde, preciso que fique visível quando inserir uma letra, alguma ideia
Este comentário foi feito pelo moderador no site
Você pode usar letras em vez disso, você só precisa adicionar " em ambos os lados. Por exemplo, Me.Shapes("Oval 6").Visible = (Cells(1, 1).Value = "A")
Este comentário foi feito pelo moderador no site
Que tal se eu quiser adicionar dois valores como entrada, como: Por exemplo, Me.Shapes("Oval 6").Visible = (Cells(1, 1).Value = "A" ou "B")?
Este comentário foi feito pelo moderador no site
Me.Shapes("Rounded Rectangle 2").Visible = (Cells(1, 1).Value = "A" Ou Cells(1, 1).Value = "B")
Este comentário foi feito pelo moderador no site
Sou iniciante em VBA Excel. Estou trabalhando com este código e gostaria de otimizá-lo. Este código torna uma forma visível em uma célula ativa se o valor for 1 outros valores a ocultam. A faixa inclui J13:AC161. Se eu usar o código abaixo, vou precisar de mais linhas de código. Qualquer ajuda será muito apreciada.

Private Sub Worksheet_Change (ByVal Target As Range)
If ActiveSheet.Range("E13").Value = 1 Then
ActiveSheet.Shapes("rt1").Visible = True
Outro
ActiveSheet.Shapes("rt1").Visible = False
Se acabar

If ActiveSheet.Range("F13").Value = 1 Then
ActiveSheet.Shapes("rt2").Visible = True
Outro
ActiveSheet.Shapes("rt2").Visible = False
Se acabar

If ActiveSheet.Range("G13").Value = 1 Then
ActiveSheet.Shapes("rt3").Visible = True
Outro
ActiveSheet.Shapes("rt3").Visible = False
Se acabar

If ActiveSheet.Range("H13").Value = 1 Then
ActiveSheet.Shapes("rt4").Visible = True
Outro
ActiveSheet.Shapes("rt4").Visible = False
Se acabar

If ActiveSheet.Range("I13").Value = 1 Then
ActiveSheet.Shapes("rt5").Visible = True
Outro
ActiveSheet.Shapes("rt5").Visible = False
Se acabar

If ActiveSheet.Range("J13").Value = 1 Então
ActiveSheet.Shapes("rt6").Visible = True
Outro
ActiveSheet.Shapes("rt6").Visible = False
Se acabar
...

End Sub
Este comentário foi feito pelo moderador no site
Dia bom,
Você quer dizer que deseja exibir ou ocultar muitas formas especificadas com base em células no intervalo J13:AC161 com código breve?
Este comentário foi feito pelo moderador no site
2 perguntas:

1. Eu não consigo fazer este código rodar e eu não entendo porque... copiei e colei exatamente como está lá... ajuda!!!


2. como faço para alterá-lo para formas como Shapes.Range(Array("Rounded Rectangle 1"))
Este comentário foi feito pelo moderador no site
Oi Gus,
Você deve perder alguma coisa na operação.
Supondo que o nome da sua forma seja "Rounded Rectangle 1", copie o código abaixo na janela de código da planilha (esta planilha deve conter a forma especificada "Rounded Rectangle 1").
A partir de agora, apenas digitar o número 1 na célula A1 pode exibir a forma "Retângulo Arredondado 1". Se você digitar outro conteúdo, a forma ficará oculta.

Private Sub Worksheet_Change (ByVal Target As Range)
Se Target.Row = 1 e Target.Column = 1 Then _
Me.Shapes("Retângulo arredondado 1").Visível = (Células(1, 1).Valor = 1)
End Sub
Este comentário foi feito pelo moderador no site
Você deixou de fora o ":"
Este comentário foi feito pelo moderador no site
Este artigo não dá nenhuma dica de como se obtém o nome de uma forma.

Verifiquei o gerenciador de nomes e o gerenciador de objetos no VBA, bem como o menu de contexto - não há menu "Propriedades" para formas.

Então, onde está o nome da forma?
Este comentário foi feito pelo moderador no site
Olá Cornan,
O nome da forma será exibido na caixa Nome da planilha ao selecionar a forma. Desculpe pela inconveniência.
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos