View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default How to control "Date Time Picker ActiveX Control"

I think I'd drop that selects and activates:

Private Sub cmdCancel_Click()
dtDasof.Value = CallbackDate
ThisWorkbook.Worksheets("Main").Range("B2").value = dtDasof.Value
frmSetup.Hide
End Sub

Private Sub cmdOK_Click()
ThisWorkbook.Worksheets("Main").Range("B1").value = dtDasof.Value
frmSetup.Hide
End Sub

Private Sub dtDasof_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As
Integer, ByVal CallbackField As String, CallbackDate As Date)
dtDasof.Cancel = True
CallbackDate = dtDasof.Value
End Sub

I'm guessing that your code is in a worksheet module (but not main's).

When you have unqualified ranges in your code, it refers to the worksheet owning
the code--not the activesheet.

This behavior is different than what you find in a general module.



Jafery wrote:

Hi there,

I have a problem with DTPicker Control ,the code below, I cannot set the
value back
to call back event....when user click cancel button. How can I fix this
problem?

Thanks
Jafery

----------Here is my code-----------------------------
Private Sub cmdCancel_Click()
dtDasof.Value = CallbackDate
ThisWorkbook.Worksheets("Main").Activate
Range("B2").Select
ActiveCell.Formula = dtDasof.Value
frmSetup.Hide
End Sub

Private Sub cmdOK_Click()
ThisWorkbook.Worksheets("Main").Activate
Range("B1").Select
ActiveCell.Formula = dtDasof.Value
frmSetup.Hide
End Sub

Private Sub dtDasof_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As
Integer, ByVal CallbackField As String, CallbackDate As Date)
dtDasof.Cancel = True
CallbackDate = dtDasof.Value
End Sub


--

Dave Peterson