Hi Andrew,

You can use the following code in the VBA module of the worksheet which contains the cell from which you want to trigger the routine:


Option Explicit


Const strCalendarCell   As String = "A5"


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Target.Cells.Count = 1 And Not Intersect(Target, Me.Range(strCalendarCell)) Is Nothing Then
        frmCalendar.Show
    End If

End Sub
The check of "Target.Cells.Count = 1" just ensures that the routine won't be triggered if the user selects a multi-cell range which includes cell A5.

Hope this helps - please let me know how you get on.

Best regards,

Greg M