Best thing I've seen is this:
Sourced I think from Ozgrid (apologies if this is wrong): Just need to drive form from a button on your dialog.
1. Open the workbook for the calendar. It is a good idea to use your Personal.xls for this, in which case you should first go to Window>Unhide
2. Go to Tools>Macro>Visual Basic Editor (Alt+F11).
3. Go to Insert>UserForm from within the VBE. This should automatically display the Control Toolbox, if not go to View>Toolbox
4. Right click on the Toolbox and select Additional Controls
5. Scroll through the list until you see: Calendar Control 10.0 (number will differ depending on Excel version) and check the checkbox and click OK
6. Now click the Calendar that is now part of the Toolbox and then click on the UserForm we inserted in step 3.
7. Use the Size Handles on both the UserForm and the Calendar Control to make them both a reasonable size. See Example below.
8. Now ensure the UserForm is selected (as shown above) then go to View>Properties Window (F4)
9. Select Caption from the Properties Window and replace: UserForm1 with the word Calendar.
10. Now go to View>Code (F7) and in the white Private Module in front of you, add the code exactly as show below:
Private Sub Calendar1_Click()
ActiveCell = Calendar1.Value
ActiveCell.NumberFormat="mm/dd/yy"
End Sub
Private Sub UserForm_Activate()
Me.Calendar1.Value = Date
End Sub
11. Now go to Insert>Module and in this Public Module place this code
Sub ShowIt()
UserForm1.Show
End Sub
12. Ok, nearly done. Click the top right X (or push Alt+F11) to return back to Excel.
13. Go to Tools>Macro>Macros (Alt+F8) and then select ShowIt click Options and assign a shortcut key and you're done.