Note: The other languages of the website are Google-translated. Back to English
English English
  • Documentos
  • sobressair
  • Como executar a macro com base no valor selecionado da lista suspensa no Excel?

Como executar a macro com base no valor selecionado da lista suspensa no Excel?

Executar macros clicando no botão de comando é uma tarefa comum no Excel, mas, você já tentou executar os códigos de macro com base no valor que é selecionado na lista suspensa? Isso significa que, ao escolher um item da lista suspensa, a macro específica será acionada de uma vez. Este artigo apresentará um código útil para você resolver esse trabalho.

Executar macro com base no valor selecionado da lista suspensa com código VBA


seta azul bolha direita Executar macro com base no valor selecionado da lista suspensa com código VBA

Não há uma maneira direta de terminar esta tarefa, mas o seguinte código VBA pode ajudá-lo, faça o seguinte:

1. Em primeiro lugar, crie uma lista suspensa conforme necessário, consulte a captura de tela:

doc executar macro no menu suspenso 1

2. Em seguida, clique com o botão direito na guia da planilha que contém o menu suspenso que deseja usar e escolha Ver código a partir do menu de contexto, e no aberto Microsoft Visual Basic para aplicativos janela, copie e cole o seguinte código no módulo em branco:

Código VBA: execute a macro com base no valor selecionado na lista suspensa:

Private Sub Worksheet_Change(ByVal Target As Range)
	If Not Intersect(Target, Range("E1")) Is Nothing Then
	    Select Case Range("E1")
	        Case "Insert Blank rows": Macro1
	        Case "Hide All Sheets": Macro2
            Case "Convert to Date": Macro3
	    End Select
	End If
	End Sub

doc executar macro no menu suspenso 2

Nota: No código acima, E1 é a célula que contém a lista suspensa, altere os nomes das macros e os valores da lista suspensa de acordo com sua necessidade.

3. E então salve e feche esta janela de código, agora, quando você selecionar o item Inserir linhas em branco na lista suspensa, Macro1 será disparado e assim por diante ...


Artigos relacionados:

Como executar a macro quando o valor da célula muda no Excel?

Como executar macro com base no valor da célula no Excel?

Como executar macro automaticamente antes de imprimir no Excel?

Como executar macro clicando em hiperlinks no Excel?

Como executar macro quando a planilha é selecionada em uma pasta de trabalho?


As melhores ferramentas de produtividade para escritório

Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade
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 que
    300
    recursos poderosos
    . Suporta Office/Excel
    2007-2019 e 365
    . Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos
    30
    -dia de avaliação gratuita. 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.
  • Aumente sua produtividade com
    50%
    , e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório
Comentários (6)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
efetivamente funciona pero quiero aplicarlo en varias celdas, que variable debo cambiar?
Este comentário foi feito pelo moderador no site
Existe uma maneira de usar o código VBA para fazer isso no Access? Obrigado
Este comentário foi feito pelo moderador no site
Olá!

Ao aplicar-me venda um erro de compilação: A declaração do procedimento não coincide com a descrição do evento ou o procedimento que tem o mesmo nome. Que quiere decir eso? que debo cambiar/arreglar? Gracias
Este comentário foi feito pelo moderador no site
Bom Dia. Você seria capaz de fazer Macro do menu suspenso para o próximo: Para executar macro e salvar planilhas separadas para cada item do menu suspenso? No seu caso deve ficar assim:
1. Você executa a macro e, em seguida, separou a planilha com valores para "Inserir linhas em branco" salvas na pasta designada
2. Folha separada com valores para "Ocultar todas as folhas:" salvas na pasta designada
3. Folha separada com valores para "Converter em data" salvo na pasta designada.
4. A macro está pronta agora


Principalmente eu sou capaz de definir tudo isso, exceto que a macro altera automaticamente a seleção do menu suspenso?


obrigado


Ivan
Este comentário foi feito pelo moderador no site


PRIMEIRO CÓDIGO FUNCIONANDO PERFEITAMENTEPrivate Sub Worksheet_Change (ByVal Target As Range)
If Not Intersect(Target, Range("D1")) Não é Nada Então
Selecionar intervalo de caso ("D1")
         Caso "0.5": Metade
         Caso "1": Um
         Caso "1.25": OneVinte e Cinco
End Select
Se acabar
End Sub
SEGUNDO CÓDIGO NÃO FUNCIONA (por favor corrija o abaixo)
Subalteração Privada (Alvo ByVal como Intervalo)
If Not Intersect(Target, Range("D2")) Não é Nada Então
Selecionar intervalo de caso ("D2")
         Caso "9.53": nove vírgula cinco três
End Select
Se acabar
End Sub
Este comentário foi feito pelo moderador no site
A co jeśli potrzebuję aby po uruchomieniu makra wszystkie listy rozwijane ustawiły się na jeden z wyborów z listy? W sumie odwrotnie do tego co jest w poście. Czy istnieje na to łatwiejszy sposób?
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL