excel vba 窗体引用模块中的变量失败原因

excel中代码如下:Public c As Integer(通用、声明)Public b As Integer(通用、声明)Public a As Integer(通用、声明)Sub kaidan()a = 1b = 2c = a + b 完成1.Show 0End Sub窗体中代码如下:Public Sub 确定1_Click()MsgBox "文字框里输入的内容是:" & cEnd Sub问题:弹出的MsgBox中c无值,请问问题出在哪里?

可以调用,如果public c 和函数放在一个sheet,那么直接调用时C=0
但是放在不同sheet时,C没有初值,如果你在调用前赋值 比如 c=0,你就会看见它了。追问

你好,左边的截图(sub kaidan())中的语句(包含函数的定义)都是直接写在sheet2下边的;右边的截图中的语句是直接写在窗体中的。
现在弹出的的MsgBox中c无值(连0都没有),请问哪里出错了?应该怎么修改?
这里面只有一个sheet和一个窗体。

追答

宏是触发执行,不触发,不调用,不会执行,看你这情况,肯定窗体入口运行的,sheet里既没有事件触发,也没有调用,根本不执行,你哪里的值。你写窗口里不就好了么,要不然只能在主函数调用sheet里的函数执行赋值,你不麻烦么= =

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-11-08
试试 模块名称.c追问

我可能一开始说错了,我不太懂模块是什么,我只知道我的窗体之外的语句是全部直接写在sheet2下面的。