Tip: Other languages are Google-Translated. You can visit the English version of this link.
Log in
x
or
x
x
Register
x

or

 How to run macro based on cell value in Excel?

Supposing, I have multiple macro codes in my workbook, and now, I want to run these codes based on the cell value. This article, I will talk about several situations you may suffered in your daily work when using Excel.

Run or trigger macro if cell value is greater or less than a specific value with VBA code

Run or trigger macro if cell value equals specific text with VBA code

Excel Productivity Tools

Office Tab: Bring powerful tabs to Office (include Excel), just like Chrome, Safari, Firefox and Internet Explorer. Save you half the time, and reduce thousands of mouse clicks for you. 30-day Unlimited Free Trial

Kutools for Excel: Save 70% of your time and solve 80% Excel problems for you. 300+ advanced features designed for 1500+ work scenario, make Excel much easy and increase productivity immediately. 60-day Unlimited Free Trial


arrow blue right bubble Run or trigger macro if cell value is greater or less than a specific value with VBA code


For example, if the value in cell A1 is between 10 and 50, run macro1, and if the value is greater than 50, run macro2. To solve this job in Excel, please apply the following VBA code.

1. Right click the sheet tab that you want to execute the macro based on a cell value, and then choose View Code from the context menu, and in the opened Microsoft Visual Basic for applications window, copy and paste the following code into the blank Module:

VBA code: Run macro if cell value is greater or less than:

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

doc run macro based on cell value 1

Note: In the above code:

A1 is the cell which contains the specific value you want to run the macro based on;

Case 10 To 50: Macro1: it means if the value is between 10 and 50, run Macro1;

Case Is > 50: Macro2: it means if the value is greater than 50, run Macro2.

Please change theses macro names and criteria to your need, and you can also add more criteria following the Case script.

2. Then save and close this code window, now, when the value you enter is between 10 and 50 in cell A1, Macro1 will be triggered, if the entered value is greater than 50, Macro2 is executed.


arrow blue right bubble Run or trigger macro if cell value equals specific text with VBA code

If you want to trigger the macro based on specific text in a cell, for instance, to run the macro1 if the text “Delete” is entered, and run macro2 if text “Insert” is typed. The following code can do you a favor.

1. Right click the sheet that you want to execute the macro based on the cell value, and then choose View Code from the context menu, and in the opened Microsoft Visual Basic for applications window, copy and paste the following code into the blank Module:

VBA code: Run macro if cell value is greater or less than:

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 

doc run macro based on cell value 2

Note: In the above code, “Delete” and “Insert” are the cell texts that you want to run macros based on, and Macro1 and Macro2 are the macros you want to execute based on text. Please change them to your need.

2. Then save this code and close the window, now, when you enter the text “Delete” in cell A1, macro1 is triggered, if the text “Insert” is entered, macro2 will be executed.


Related articles:

How to run macro when cell value changes in Excel?

How to run macro automatically before printing in Excel?

How to run macro based on value selected from drop down list in Excel?

How to run macro by clicking hyperlinks in Excel?

How to run macro when sheet is selected from a workbook?


Excel Productivity Tools

Ribbon of Excel (with Kutools for Excel installed)

300+ Advanced Features Increase Your Productivity by 70%, and Help You To Stand Out From Crowd!

Would you like to complete your daily work quickly and perfectly? Kutools For Excel brings 300+ cool and powerful advanced features (Combine workbooks, sum by color, split cell contents, convert date, and so on...) for 1500+ work scenarios, helps you solve 80% Excel problems.

  • Deal with all complicated tasks in seconds, help to enhance your work ability, get success from the fierce competition, and never worry about being fired.
  • Save a lot of work time, leave much time for you to love and care the family and enjoy a comfortable life now.
  • Reduce thousands of keyboard and mouse clicks every day, relieve your tired eyes and hands, and give you a healthy body.
  • Become an Excel expert in 3 minutes, and get admiring glance from your colleagues or friends.
  • No longer need to remember any painful formulas and VBA codes, have a relaxing and pleasant mind, give you a thrill you've never had before.
  • Spend only $39, but worth than $4000 training of others. Being used by 110,000 elites and 300+ well-known companies.
  • 60-day unlimited free trial. 60-day money back guarantee. Free upgrade and support for 2 years. Buy once, use forever.
  • Change the way you work now, and give you a better life immediately!

Office Tab Brings Efficient And Handy Tabs to Office (include Excel), Just Like Chrome, Firefox, And New IE

  • Increases your productivity by 50% when viewing and editing multiple documents.
  • Reduce hundreds of mouse clicks for you every day, say goodbye to mouse hand.
  • Open and create documents in new tabs of same window, rather than in new windows.
  • Help you work faster and easily stand out from the crowd! One second to switch between dozens of open documents!
Say something here...
symbols left.
You are guest ( Sign Up? )
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.
    Mani Chandran · 1 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 · 1 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 · 1 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".