Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 将变量传递到按钮单击过程中_Vba_Excel - Fatal编程技术网

Vba 将变量传递到按钮单击过程中

Vba 将变量传递到按钮单击过程中,vba,excel,Vba,Excel,是否可以将变量传递到按钮单击过程中 背景: 我有两个过程,都执行一些操作,然后都打开表单1。现在,根据打开表单1的过程,我希望命令按钮使用表单上的数据执行不同的任务。通常,我会将变量从第一个过程传递到被调用的过程中 但是,由于它是一个被调用的表单,需要用户单击命令按钮来启动第二个过程,我认为不可能将变量传递给这个过程 目前,我在过程1:override=False和过程2:override=True中分配了一个公共变量,但我知道使用公共变量(从我所读到的内容来看)通常是不受欢迎的 在button

是否可以将变量传递到按钮单击过程中

背景:

我有两个过程,都执行一些操作,然后都打开表单1。现在,根据打开表单1的过程,我希望命令按钮使用表单上的数据执行不同的任务。通常,我会将变量从第一个过程传递到被调用的过程中

但是,由于它是一个被调用的表单,需要用户单击命令按钮来启动第二个过程,我认为不可能将变量传递给这个过程

目前,我在过程1:
override=False
和过程2:
override=True
中分配了一个公共变量,但我知道使用公共变量(从我所读到的内容来看)通常是不受欢迎的

在button_click过程中,我使用这个变量相应地路由代码

Private Sub CommandButton1_Click()
    If override Then
        Call override_data
    Else
        Call submit_data
    End If
End Sub
在这种情况下,我可以使用公共变量吗?还是有更好的方法来实现我的目标?

正如@PeterT的评论所建议的那样,我最终阅读了关于用户表单属性的文章


这使我能够使用用户表单属性而不是公共变量。

“取决于打开表单的过程1”-这是否意味着可以单击两个不同的按钮来打开表单?或者表单是先打开的(两种方式中的一种),您想让按钮知道这一点?第一种假设是正确的;有两个不同的按钮可以在userform上单击,然后运行其中一个过程,从而打开form_1。为什么不将每个过程分配给不同的按钮?也许我有点困惑。使用公共变量是可以的——我会把它放在表单中,并在显示表单之前设置它——但在表单中使用属性过程会更好。看看Jon Peltier,了解如何设置和读取用户表单属性。这将解决您的问题并避免使用公共变量。