将值填充到单个userform中的两个文本框中

时间:2013-05-16 09:12:54

标签: vba word-vba

我在Ms-Word vba中编写代码。

我做了两个用户形式说 userform_1 userform_2

  • userform_1 包含两个按钮和两个文本框。
  • userform_2 是日历用户表单。

我编写了一个代码,用于在每个按钮点击事件中显示日历用法表单。

现在,我想编写一个代码,当用户点击第一个按钮时,所选日历值将显示在textbox1中,当用户点击第二个按钮时,所选值显示在第二个文本框中。但它在文本框中显示相同的值。

请让我知道我怎么能实现这个......

Private Sub CmB_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

    Main.Event_DblClick = True
    Dim SampleDate As Date
    frmAE_Tool.TextBox1.Text = Me.Value
    frmAE_Tool.TextBox2.Text = Me.Value

End Sub

1 个答案:

答案 0 :(得分:1)

您可以在 userform_2 中创建Sub,以确定日历的输出。


Userform_2:

声明Private变量,如下所示:

Private mTextBox As Control

此文本框将是您日历的输出文本框

添加以下Sub

Public Sub SetOutput(pTextBox As Control)
    Set mTextBox = pTextBox
End Sub

此Sub将允许决定您要使用哪个输出

像这样修改CmB_DblClick Sub

Private Sub CmB_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    'Others things that I didn't understand

    mToolbox = Me.Value
End Sub

Userform_1:

对于第一个按钮,请像这样修改Click Sub

Private Sub Btn1_Click
    [...]
    YourCalendarForm.SetOutput Textbox1
End Sub

对于第二个,像这样:

Private Sub Btn2_Click
    [...]
    YourCalendarForm.SetOutput Textbox2
End Sub