Maybe: (per your e.g.)
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A31")) Is Nothing Then
Select Case Target.Value
Case Is = 1
If Target.Address = "$A$1" Then Call MacroDate_1
Case Is = 2
If Target.Address = "$A$2" Then Call MacroDate_2
Case Is = 3
If Target.Address = "$A$3" Then Call MacroDate_3
Case Is = 4
If Target.Address = "$A$4" Then Call MacroDate_4
Case Is = 5
If Target.Address = "$A$5" Then Call MacroDate_5
Case Is = 6
If Target.Address = "$A$6" Then Call MacroDate_6
Case Is = 7
If Target.Address = "$A$7" Then Call MacroDate_7
Case Is = 8
If Target.Address = "$A$8" Then Call MacroDate_8
Case Is = 9
If Target.Address = "$A$9" Then Call MacroDate_9
Case Is = 10
If Target.Address = "$A$10" Then Call MacroDate_10
Case Is = 11
If Target.Address = "$A$11" Then Call MacroDate_11
Case Is = 12
If Target.Address = "$A$12" Then Call MacroDate_12
Case Is = 13
If Target.Address = "$A$13" Then Call MacroDate_13
Case Is = 14
If Target.Address = "$A$14" Then Call MacroDate_14
Case Is = 15
If Target.Address = "$A$15" Then Call MacroDate_15
Case Is = 16
If Target.Address = "$A$16" Then Call MacroDate_16
Case Is = 17
If Target.Address = "$A$17" Then Call MacroDate_17
Case Is = 18
If Target.Address = "$A$18" Then Call MacroDate_18
Case Is = 19
If Target.Address = "$A$19" Then Call MacroDate_19
Case Is = 20
If Target.Address = "$A$20" Then Call MacroDate_20
Case Is = 21
If Target.Address = "$A$21" Then Call MacroDate_21
Case Is = 22
If Target.Address = "$A$22" Then Call MacroDate_22
Case Is = 23
If Target.Address = "$A$23" Then Call MacroDate_23
Case Is = 24
If Target.Address = "$A$24" Then Call MacroDate_24
Case Is = 25
If Target.Address = "$A$25" Then Call MacroDate_25
Case Is = 26
If Target.Address = "$A$26" Then Call MacroDate_26
Case Is = 27
If Target.Address = "$A$27" Then Call MacroDate_27
Case Is = 28
If Target.Address = "$A$28" Then Call MacroDate_28
Case Is = 29
If Target.Address = "$A$29" Then Call MacroDate_29
Case Is = 30
If Target.Address = "$A$30" Then Call MacroDate_30
Case Is = 31
If Target.Address = "$A$31" Then Call MacroDate_31
End Select
End If
End Sub
Bookmarks