Excel - Run Macro on Cell Change

April 2018


I am trying to have 1 of 8 different macro's run depending on the value of a specific cell.
  • If I enter 1 in cell A3, I would like macro1 to run. If I change cell A3 to 2, I would like macro2 to run and so on all the way up to entering 8 and getting macro8 to run. I am unable to find any good examples of how to do this.
  • Is there any way to use a formula to get this accomplished? If not what is the macro code I will need.


Try to use this macro and adapt it if you need :

Private Sub Worksheet_Change(ByVal Target As Range)  
    If [A3] = 1 Then  
    Call Macro1  
    End If  
    If [A3] = 2 Then  
    Call Macro2  
    End If  
    If [A3] = 3 Then  
    Call Macro3  
    End If  
    If [A3] = 4 Then  
    Call Macro4  
    End If  
    If [A3] = 5 Then  
    Call Macro5  
    End If  
    If [A3] = 6 Then  
    Call Macro6  
    End If  
    If [A3] = 7 Then  
    Call Macro7  
    End If  
    If [A3] = 8 Then  
    Call Macro8  
    End If  
End Sub

Note that

Thanks to venkat1926 for this tip on the forum.
Published by aakai1056. Latest update on February 21, 2012 at 08:49 AM by aakai1056.
This document, titled "Excel - Run Macro on Cell Change," is available under the Creative Commons license. Any copy, reuse, or modification of the content should be sufficiently credited to CCM (https://ccm.net/).
Excel - A macro to transfer data from rows to columns
Excel - Input data in a range of cells