弹出日历的vba编程需要支持

时间:2012-12-18 14:06:25

标签: excel excel-vba calendar userform vba

我没有使用vba的经验,非常感谢您协助实施弹出式日历用户表单。此链接将引导您到我试图在我的工作簿中引入的日历源:

http://www.ozgrid.com/forum/showthread.php?t=142603

我已将类模块,用户表单和模块复制到我的工作簿中。当我启动宏时,这将打开一个用户表单,我可以在其中选择日历上希望的日期。 我想念的是能够将日历中选择的日期发送到我的工作簿中的特定单元格。 如果有人可以指导我如何编写几行代码,将用户表单中选择的日期发送到工作簿中的特定单元格,我将非常感激! 我再次对此非常陌生,所以如果我的解释中有任何不清楚的地方,请告诉我。我花了很多时间在这上面,所以任何支持都非常感谢!它可能只需要一些时间,但对我来说意义重大!

2 个答案:

答案 0 :(得分:1)

试试这个post。它可以提供更好的datepicker control工作指南。但是它显示了编码以生成插件。

因此,最基本的方法是,

  • 添加表单
  • 添加datepicker控件
  • 来自那里的代码

按照article

但请记住Excel / Access中的日历控件有时会因this reason mentioned in my post 而消失。

如果您打算使用date picker控件,以下是将值从表单传递到您想要的任何位置的代码;)

Private Sub myDtPicker_Change()
Dim dtDateSelected as Date
   dtDateSelected = myDtPicker.Value
   '-- do anything else
End Sub

答案 1 :(得分:0)

该类将选定的日期写入文本框。选择日期后,您可以使用文本框的值来设置单元格的值。

Private Sub UserForm_Initialize()
    Set clsCal = New clsCalendar           'Initialize the Class'
    Set clsCal.Form(Me.TextBoxDate) = Me   'Tells the class to write the Selected date'
                                           '  into the textbox "Me.TextBoxDate"'
End Sub

因此,在该示例中,每当您选择日期时,该类将自动将所选日期存储在文本框中。

选择日期后,可以使用以下代码将值添加到单元格中:

 Range("A1").value=TextBoxDate.Value