Dear all, I understand this subject has been mentioned many times across the forums and I've tried searching for a solution that could work but perhaps I am missing something in the codes that I've put up.

What I am trying to do is to run a particular case of macro when a certain value is entered into a cell.

E.g. When Cell A1 shows 1 , auto run MacroDate_1
When Cell A2 shows 2 , auto run MacroDate_2

and this pretty much goes on until 31. Below are the codes that I've found and modified so far. I've attached it to the 'Sheets' but nothing happens. Apologies as I am not able to send a spreadsheet on this.

Thanks in advance for taking a look at this.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Address = "$E$6" Then
        Select Case Target.Value
        Case 1: MacroDate_1
        Case 2: MacroDate_2
        Case 3: MacroDate_3
        Case 4: MacroDate_4
        Case 5: MacroDate_5
        Case 6: MacroDate_6
        Case 7: MacroDate_7
        Case 8: MacroDate_8
        Case 9: MacroDate_9
        Case 10: MacroDate_10
        Case 11: MacroDate_11
        Case 12: MacroDate_12
        Case 13: MacroDate_13
        Case 14: MacroDate_14
        Case 15: MacroDate_15
        Case 16: MacroDate_16
        Case 17: MacroDate_17
        Case 18: MacroDate_18
        Case 19: MacroDate_19
        Case 20: MacroDate_20
        Case 21: MacroDate_21
        Case 22: MacroDate_22
        Case 23: MacroDate_23
        Case 24: MacroDate_24
        Case 25: MacroDate_25
        Case 26: MacroDate_26
        Case 27: MacroDate_27
        Case 28: MacroDate_28
        Case 29: MacroDate_29
        Case 30: MacroDate_30
        Case 31: MacroDate_31
        Case Else ' do nothing
        End Select
    End If
End Sub