2012-12-18 35 views
1

我没有使用vba的经验,并非常感谢您对弹出日历用户表单的实施提供的帮助。此链接将引导您日历的来源,我想引进我的工作簿:vba编程需要支持弹出日历

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

我抄类模块,用户窗体,模块到我的工作簿。当我启动宏时,这将打开一个用户表单,我可以在日历中选择希望的日期。 我想念的是能够将日历中选定的日期发送到我的工作簿中的特定单元格。 如果有人能够指导我如何编写几行代码,将用户表单中选定的日期发送到我的工作簿中的特定单元格,我将非常感激! 同样,我对此很新,所以让我知道我的解释中是否有任何不清楚的地方。我花了很多时间在此,所以任何支持都非常感谢!这可能只需要一些时间,但对我来说意义重大!

+0

我已经添加了你一些提示用代码来获取'selected'值。请看看并评论:) – bonCodigo

回答

1

试试这个post。它旨在提供一个更好的指导,与datepicker control一起工作。但是它显示了编写插件的代码。你将

因此,最基本的手段,

  • 从那里

添加表单

  • 添加日期选择器控制
  • 代码按照该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 
    
  • +0

    想通了!谢谢您的帮助! – Miles

    +0

    @ user1752810我读了你提供的链接,它说:“你还需要在窗体上绑定到另一个控件,这个控件会接收用户选择的日期,我的名字叫做”TextBoxDate“,它被设置在这样的用户窗体代码中:“这是好,作者说这是'MSCOMCT2.OCX' :)我认为添加框架将是更难的部分。 – bonCodigo

    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