我将月视图控件用作名为 dateform 的单独用户窗体中的压缩程序。
我在excel vba用户窗体上有多个日期字段,名为 Update_Entries_New ,因此我无法直接引用点击月视图的日期,如下所示(尽管下面的直接引用效果非常好)。
Update_Entries_New.Invoice_date.Value = DateClicked
要解决此问题,我将动态生成Update_Entries_New.Invoice_date.Value
以访问项目中所有用户表单中所有日期字段中的monthview calander。
当我使用动态创建的文本框名称(从Excel工作表单元格中选取)时,单击月视图日期时,calander的文本框值不会更新。任何线索,为什么会这样。
我当前的代码
Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
Dim test
'dynamically referencing of "Update_Entries_New.Invoice_date.Value" picked from 'Sheets("Data").Range("m2").Value' doesn't update the value on userform textbox
controlname = Sheets("Data").Range("m2").Value
controlname = DateClicked
'using textbox name directly works fine with below code
Update_Entries_New.Invoice_date.Value = DateClicked
Unload dateform
End Sub
答案 0 :(得分:0)
我使用以下代码完成了这项工作:
Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
test = Sheets("Data").Range("m1").Value
CB = Sheets("Data").Range("m2").Value
CBVal = DateClicked
If test = "Update_Entries_New" Then
For Each contr In Update_Entries_New.Controls
If contr.Name = CB Then
contr.Value = CBVal
End If
Next
End If
Unload dateform
End Sub