在64位MS Office中,没有更多日期选择器。
我找到了一个由VBA创建的日历,由一个类和一个用户表单组成。
我已将元素导入Excel文件。
如何从Userform2打开日历?我的Userform2有一个日期值字段。使用按钮调用Userform然后我如何从Userform2调用日历?
我是VBA的初学者,我更喜欢详细解答:)
答案 0 :(得分:0)
虽然方便,但这种控制会给那些试图在德国之外(甚至可能在德国境内)使用它的人带来错误,因为它的硬编码依赖于“dd.mm.yyyy
”的日期格式 - 这已经没有了自1996年以来一直是official date standard标准的任何地方(包括德国)。
要解决此问题,请使用以下备选方案替换四个违规行中的每一行,而使用DateSerial
函数作为“国际日期处理解决方案”。 (在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
要在您的用户表单上添加此自定义控件:
向用户表单添加命令按钮
右键点击新按钮,然后点击 View Code
将以下代码粘贴到按钮的 _Click()
过程中
frmCalendar.Show
TextBox1 = g_datCalendarDate
...其中TextBox1
是您想要所选日期的控件的名称。
单击该按钮现在将打开日历,允许用户选择日期,关闭日历,并使用所选日期填充指定的控件。
答案 1 :(得分:-1)
如果日历包含在用户表单中,请找到该用户表单的名称,然后向Userform2添加一个命令按钮,并使用类似于的代码:
Private Sub CommandButton1_Click()
dateUserfom.Show
End Sub