确定哪个按钮单击事件引发了第二种形式

时间:2019-02-16 19:19:52

标签: vba

我正在处理Visual Basic作业,该作业具有3个不同的按钮,可将新数据添加到3个单独的列表框中。这三个按钮都需要打开第二个表单,该表单接受输入并将其存储在一个数组中,该数组将填充第一个表单中的列表框。每个列表框都有不同的数组(这是分配所需要的)。现在,我需要找出哪个按钮单击事件打开了第二个表单,以将数据插入适当的数组。有办法吗?

1 个答案:

答案 0 :(得分:0)

有多种方法可以将与按钮单击相对应的数据传递给用户表单。 最简单的方法可能是尝试在某些模块中创建一些Global变量,说

公共Abc作为整数 然后在按钮1的Button_Click事件中

Abc=1
Userform2.show

将其设置为按钮2的2,依此类推。最后在Userform2的激活事件中,使用Abc选择数据

另一种方法可能是在Userform2中创建一个文本框,在Userform1的Button单击事件中设置其值,然后在userform2的激活事件中检查该文本框的值,例如

Private Sub CommandButton1_Click()
UserForm2.TextBox1 = 1
UserForm2.Show
End Sub

,并且在Userform2的Activate事件中

Private Sub UserForm_Activate()
    If Val(TextBox1.Text) = 1 Then
    'Your code here
    elseif  Val(TextBox1.Text) = 2 Then
    'Your code here
    else
    'Your code here
    End If

End Sub