获取date摘入用户表单文本框

我有两个用户表单,其中一个是我使用本指南创buildhttps://sites.google.com/site/e90e50/calendar-control-class的日历,其中一个是select一个begindate和enddate的日历。 我正在尝试从frmCal中select到userform1的文本框中的date。 这是我从userform1调用的方式

Private Sub txtBegin_Enter() controlwithfocus = ActiveControl.Name frmCalendar.Show UserForm1.txtBegin.Value = Calendar1.Value End Sub 

哪个不行,就会抛出一个错误

所需对象

现在这个语法在日历代码后面,并且可以写入一个单元格的问题。 我的问题是我不想写一个单元格,我想要写入txtBegin或txtEnd取决于哪个文本框“调用”窗体日历打开。

 Private Sub Calendar1_DblClick() ActiveCell.Value = Calendar1.Value Unload Me End Sub 

如何修改这个为了让Calendar1.Value写入“调用”文本框而不是工作表上的单元格?

编辑
我正在使用Excel 2013 64位版本

您正在卸载frmCalendar ,然后尝试从中读取值。 您需要创build日历表单的非默认实例(使用New )。 然后,而不是调用Calendar1_DblClick Unload Me ,使用Me.Hide将执行返回到调用代码:

frmCalendar

 Private Sub Calendar1_DblClick() ActiveCell.Value = Calendar1.Value Me.Hide End Sub 

UserForm1

 Private Sub txtBegin_Enter() controlwithfocus = ActiveControl.Name With New frmCalendar 'Create a new form instance .Show txtBegin.Value = .Calendar1.Value 'Form is hidden, but not unloaded. End With 'Form unloads here. End Sub