从另一个用户表单打开vba创建的日历?

时间:2018-03-23 09:19:34

标签: excel vba date calendar userform

在64位MS Office中,没有更多日期选择器。

我找到了一个由VBA创建的日历,由一个类和一个用户表单组成。

我已将元素导入Excel文件。

如何从Userform2打开日历?我的Userform2有一个日期值字段。使用按钮调用Userform然后我如何从Userform2调用日历?

我是VBA的初学者,我更喜欢详细解答:)

2 个答案:

答案 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  

使用控件是userform

要在您的用户表单上添加此自定义控件:

  • 向用户表单添加命令按钮

  • 右键点击新按钮,然后点击 View Code

  • 将以下代码粘贴到按钮的 _Click() 过程中

frmCalendar.Show  
TextBox1 = g_datCalendarDate

...其中TextBox1是您想要所选日期的控件的名称。

单击该按钮现在将打开日历,允许用户选择日期,关闭日历,并使用所选日期填充指定的控件。

image

答案 1 :(得分:-1)

如果日历包含在用户表单中,请找到该用户表单的名称,然后向Userform2添加一个命令按钮,并使用类似于的代码:

Private Sub CommandButton1_Click()
        dateUserfom.Show
End Sub