excel vba中如何在一个命令按钮中调用另一个命令按钮中变量的值

打个比方:我在CommandButton3中定义了一个静态变量k,我现在又设置了一个CommandButton4按钮。要求点击它是静态变量变为初始值0

在定义变量时使用

Public k

来定义,那么这个k就是个全局变量,在任意过称里都可以调用和赋值。

CommandButton4的click事件里加一个k=0就行了

追问

怎么定义,在CommandButton3中还是在哪,我这总说出错

追答

比如你的k是整数型,直接定义

Public K As Integer

不要放在任意一个过程里。

如图

记得把CommandButton3的过程中定义k的语句删掉。

追问

那我可不可以把它在下面某个过程中同时设为静态变量

追答

既然是公共变量,就不能放在某个过程中,除非你把这个过程定义为公共过程。那样更麻烦。
公共变量直接在声明中定义,很直观,建议使用这个方法。

追问

这是我编的,i已经设置为全局变量,在commandbutton4中令i=0,但运行时点击commandbuton4后i不会为0

追答

那你是理解错静态变量的含义了。它在这个过程里可以使用,程序结束依然保留赋值。

但是它依然只能在过程内使用。

你的要求是在过称之间调用。写了个小例子,你多次执行宏aa和宏bb就明白了。

Public a As Integer
Sub aa()
MsgBox a
a = 1
End Sub
Sub bb()
MsgBox a
a = 2
End Sub

记得public定义不要放在任何一个过程里。

温馨提示:答案为网友推荐,仅供参考
相似回答