Using The New Date Picker In Excel 2010
Note: The process below has only been tested for Office 2010 32-bit. If you follow the same procedure for Office 2010 64-bit and there are any issues, please email me.
Microsoft discontinued the legacy calendar control, MSCAL.OCX, in Excel 2010. The new date picker is mscomct2.ocx.
If it is not already registered, then :
FOR 64-BIT WINDOWS 7, HERE'S HOW:
(1) Perform the function below on any computer that is missing the mscomct2.ocx.
(2) Make sure a copy is in C:\Windows\SysWoW64
(3) Click the Windows 7 Start Button and in the Search area, type "command"
(4) The search will bring up a number of items, including "Command Prompt" at the top
(5) Right click the "Command Prompt" banner, and select "Run as Administrator"
(6) At the command prompt, enter: %systemroot%\SysWoW64\regsvr32.exe mscomct2.ocx
(7) This should successfully register the control.
FOR 32 BIT WINDOWS 7, HERE'S HOW:
(1) Perform the function below on any computer that is missing the mscomct2.ocx
(2) Make sure a copy is in C:\Windows\System32
(3) Click the Windows 7 Start Button and in the Search area, type "command"
(4) The search will bring up a number of items, including "Command Prompt" at the top
(5) Right click the "Command Prompt" banner, and select "Run as Administrator"
(6) At the command prompt, enter: %systemroot%\System32\regsvr32.exe mscomct2.ocx
(7) This should successfully register your legacy mscomct2.ocx
Once The Control is registered, it can be added to the Control Toolbox available in the VBA area of Excel:

Select the date picker control from the list of available Active-X controls:

Once it is selected, it can be used from the toolbox:
![]()
The control uses the "Change" event as shown below:
Program Code
Private Sub DtPicker1_Change() ' ******************************************************** ' Update Date Based on Calendar Click ' ******************************************************** dteDateSelected = DTPicker1.Value End Sub
