Note: The other languages of the website are Google-translated. Back to English
Log in  \/ 
x
or
x
Inscreva-se  \/ 
x

or

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

Suponha que eu tenha vários códigos de macro na minha pasta de trabalho e, agora, quero executar esses códigos com base no valor da célula. Neste artigo, falarei sobre várias situações que você pode enfrentar no seu trabalho diário ao usar o Excel.

Execute ou acione a macro se o valor da célula for maior ou menor que um valor específico com o código VBA

Execute ou acione a macro se o valor da célula for igual a um texto específico com código VBA


seta azul bolha direita Execute ou acione a macro se o valor da célula for maior ou menor que um valor específico com o código VBA

Por exemplo, se o valor na célula A1 estiver entre 10 e 50, execute macro1 e se o valor for maior que 50, execute macro2. Para resolver este trabalho no Excel, aplique o seguinte código VBA.

1. Clique com o botão direito na guia da planilha em que deseja executar a macro com base em um valor de célula 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 se o valor da célula for maior ou menor que:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If IsNumeric(Target) And Target.Address = "$A$1" Then
        Select Case Target.Value
        Case 10 To 50: Macro1
        Case Is > 50: Macro2
        End Select
    End If
End Sub

macro de execução de doc com base no valor da célula 1

Importante: No código acima:

A1 é a célula que contém o valor específico no qual você deseja executar a macro;

Caso 10 a 50: Macro1: significa que se o valor estiver entre 10 e 50, execute Macro1;

Caso é> 50: Macro2: significa que se o valor for maior que 50, execute Macro2.

Por favor, altere esses nomes de macro e critérios de acordo com sua necessidade, e você também pode adicionar mais critérios seguindo o Estudos de script.

2. Em seguida, salve e feche esta janela de código, agora, quando o valor inserido estiver entre 10 e 50 na célula A1, Macro1 será disparado, se o valor inserido for maior que 50, Macro2 será executado.


seta azul bolha direita Execute ou acione a macro se o valor da célula for igual a um texto específico com código VBA

Se você deseja acionar a macro com base em um texto específico em uma célula, por exemplo, executar a macro1 se o texto “Excluir” for inserido, e executar a macro2 se o texto “Inserir” for digitado. O código a seguir pode lhe fazer um favor.

1. Clique com o botão direito na planilha em que deseja executar a macro com base no valor da célula 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 se o valor da célula for maior ou menor que:

Sub worksheet_change(ByVal target As Range)
Set target = Range("A1")
If target.Value = "Delete" Then
 Call Macro1
End If
If target.Value = "Insert" Then
Call Macro2
End If
End Sub 

macro de execução de doc com base no valor da célula 2

Importante: No código acima, “Excluir"E"inserção”São os textos de células em que você deseja executar macros, e Macro1 e Macro2 são as macros que você deseja executar com base no texto. Por favor, altere-os de acordo com sua necessidade.

2. Em seguida, salve este código e feche a janela, agora, ao inserir o texto “Excluir” na célula A1, a macro1 é acionada, se for inserido o texto “Inserir”, a macro2 será executada.


Artigos relacionados:

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

Como executar macro automaticamente antes de imprimir no Excel?

Como executar a macro com base no valor selecionado da lista suspensa 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

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 ...
  • Super Formula Bar (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!
officetab bottom
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    syedsalman · 8 days ago
    Please correct the code both for the same worksheet.

    FIRST CODE WORKING PERFECTLY
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("D1")) Is Nothing Then
    Select Case Range("D1")
    Case "0.5": Half
    Case "1": One
    Case "1.25": OneTwentyFive
    End Select
    End If
    End Sub

    SECOND CODE NOT WORKING (plz correct the below)
    Private Sub Change(ByVal Target As Range)
    If Not Intersect(Target, Range("D2")) Is Nothing Then
    Select Case Range("D2")
    Case "9.53": ninepointfivethree
    End Select
    End If
    End Sub
  • To post as a guest, your comment is unpublished.
    Mani Chandran · 3 years ago
    I am working with result analysis. In this case, the data in the excel will be like this Name, Sub name , Crade. Now,i want to find the all pass or successful candidate numbers from the result. How can i get it. Because, i am having 6 different subject and their results in single excel sheet. If student failed in one subject he is not be a successful student. How do remove their name in all the subjects.
  • To post as a guest, your comment is unpublished.
    Siva · 3 years ago
    Requirement:
    Based on the selection
    There will be a dropdown list for following three properties of the same dimension as below.
    And there will be three derived cells which will be derived from the cells (G46,G47 and G48)

    Scenario:
    If I select a value from cost center drop down list , cost center derived cell(K46) should be populated with value selected from cost center drop down list(H46) and the other two derived cells (K47 and k48) should become blank.

    Similarly if I select value from Budget manager drop down list, Budget manager derived cell should be populated with value selected from Budget manager drop down list(H47) and the other two derived cells (K45 and k48) should become blank.
  • To post as a guest, your comment is unpublished.
    Richard · 4 years ago
    Hi, how about if you want to run a macro based on two cells? One cell being text based and the other cell having numerical values? Then you would want to call a macro if the two cells show exactly what you want, like "YES" for the first cell and 1 for the second cell, if not a pop box would show saying "Not Found".