我在Ms-Word vba中编写代码。
我做了两个用户形式说 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
答案 0 :(得分:1)
您可以在 userform_2 中创建Sub
,以确定日历的输出。
声明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
对于第一个按钮,请像这样修改Click Sub
:
Private Sub Btn1_Click
[...]
YourCalendarForm.SetOutput Textbox1
End Sub
对于第二个,像这样:
Private Sub Btn2_Click
[...]
YourCalendarForm.SetOutput Textbox2
End Sub