事件不在MonthView中触发

时间:2016-03-05 20:29:34

标签: excel-vba click eventtrigger vba excel

所以,我有点像VBA的业余爱好者。 我正在为许多用户在我的公司使用用户表单。

我需要用户选择日期。 首先,我尝试使用DTPicker,但这在我尝试过的其他计算机上无效,所以我的同事建议我使用MonthView。

我把它放在表单中,从工具箱中删除它,然后使用这个简单的代码:

Private Sub UserForm_Initialize()
    MonthView1.Value = Date
End Sub

Private Sub cmdClose_Click()
    Unload Me
End Sub

Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
      On Error Resume Next
      Dim cell As Object
      For Each cell In Selection.Cells
           cell.Value = DateClicked
      Next cell
      Unload Me
End Sub

工作完美。

然后我试图在另一台计算机上打开文件并得到'某些对象不可用,等等等等'的消息。即使我尝试注册OCX文件和内容,日历也没有显示,我甚至可以在表单中添加一个新的MonthView日历,但是“现有”日历没有加载。

Sooo,我尝试用代码添加对象,试图避免这种情况,我使用了这段代码:

Private Sub UserForm_Initialize()
Dim PruebaCal As Object
Set PruebaCal = Controls.Add("MSComCtl2.MonthView.2", "PruebaCal")
PruebaCal.Value = Date
End Sub

Private Sub cmdClose_Click()
Unload Me
End Sub

Private Sub PruebaCal_DateClick(ByVal DateClicked As Date)
      On Error Resume Next
      Dim cell As Object
      For Each cell In Selection.Cells
           cell.Value = DateClicked
      Next cell
      Unload Me
End Sub

这适用于“某些对象不可用”的问题,它在两台计算机上完美加载,但Click事件无法正常工作,我不知道如何解决这个问题,可能在添加带代码的控件时触发事件是不同?我不知道。

0 个答案:

没有答案