从另一个用户窗体打开 vba 创建的日历?
Opening a vba-created calendar from another userform?
在 64 位 MS Office 中,不再有日期选择器。
我找到了一个 VBA 创建的日历,由 class 和一个用户表单组成。
我已将这些元素导入到我的 Excel 文件中。
如何从我的 Userform2 打开日历?我的 Userform2 有一个日期值字段。使用按钮调用 Userform 那么如何从我的 Userform2 调用日历?
我是VBA的新手,我希望得到详细的回答:)
如果日历包含在用户窗体中,找到该用户窗体的名称,然后将命令按钮添加到 Userform2 并使用类似于以下的代码:
Private Sub CommandButton1_Click()
dateUserfom.Show
End Sub
控件的区域性问题
虽然方便,但对于那些试图在德国以外(甚至可能在德国境内)使用它的人来说,此控件会产生错误,因为它 hard-coded 依赖日期格式“dd.mm.yyyy
” — 自 1996 年以来 official date standard 标准 任何地方(包括德国)。
要解决此问题,请将四个有问题的行中的每一行替换为以下备选方案,这些备选方案将 DateSerial
函数用作 "international date handling solution"。 (在 frmCalendar
中找到它们的最快方法是在项目中搜索“01.
”。)
intDayCounter = Weekday(DateSerial(dYear, dMonth, 1), vbMonday)
datLastDayMonth = fLastDayInMonth(DateSerial(dYear, dMonth, 1))
Me.Controls(strLabel).Caption = Mid(fLastDayInMonth(_
DateSerial(dYear, dMonth - 1, 1)), 1, 2) - intVormonat
Me.Controls(strLabel).Caption = Mid(fLastDayInMonth(_
DateSerial(dYear - 1, dMonth + 11, 1)), 1, 2) - intVormonat
使用控件是一个userform
要在您的用户表单上添加此自定义控件:
向您的用户表单添加命令按钮
Right-click新建按钮并点击View Code
将下面的代码粘贴到按钮 _Click()
过程中
frmCalendar.Show
TextBox1 = g_datCalendarDate
...其中 TextBox1
是您想要 selected 日期的控件的名称。
现在单击该按钮将打开日历,允许用户select 一个日期,关闭日历,并用 selected 日期填充指定的控件。
在 64 位 MS Office 中,不再有日期选择器。
我找到了一个 VBA 创建的日历,由 class 和一个用户表单组成。
我已将这些元素导入到我的 Excel 文件中。
如何从我的 Userform2 打开日历?我的 Userform2 有一个日期值字段。使用按钮调用 Userform 那么如何从我的 Userform2 调用日历?
我是VBA的新手,我希望得到详细的回答:)
如果日历包含在用户窗体中,找到该用户窗体的名称,然后将命令按钮添加到 Userform2 并使用类似于以下的代码:
Private Sub CommandButton1_Click()
dateUserfom.Show
End Sub
控件的区域性问题
虽然方便,但对于那些试图在德国以外(甚至可能在德国境内)使用它的人来说,此控件会产生错误,因为它 hard-coded 依赖日期格式“dd.mm.yyyy
” — 自 1996 年以来 official date standard 标准 任何地方(包括德国)。
要解决此问题,请将四个有问题的行中的每一行替换为以下备选方案,这些备选方案将 DateSerial
函数用作 "international date handling solution"。 (在 frmCalendar
中找到它们的最快方法是在项目中搜索“01.
”。)
intDayCounter = Weekday(DateSerial(dYear, dMonth, 1), vbMonday)
datLastDayMonth = fLastDayInMonth(DateSerial(dYear, dMonth, 1))
Me.Controls(strLabel).Caption = Mid(fLastDayInMonth(_
DateSerial(dYear, dMonth - 1, 1)), 1, 2) - intVormonat
Me.Controls(strLabel).Caption = Mid(fLastDayInMonth(_
DateSerial(dYear - 1, dMonth + 11, 1)), 1, 2) - intVormonat
使用控件是一个userform
要在您的用户表单上添加此自定义控件:
向您的用户表单添加命令按钮
Right-click新建按钮并点击
View Code
将下面的代码粘贴到按钮
_Click()
过程中
frmCalendar.Show
TextBox1 = g_datCalendarDate
...其中 TextBox1
是您想要 selected 日期的控件的名称。
现在单击该按钮将打开日历,允许用户select 一个日期,关闭日历,并用 selected 日期填充指定的控件。