How to control "Date Time Picker ActiveX Control"

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

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
 
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.
 
Back
Top