【发布时间】:2014-09-01 03:21:40
【问题描述】:
我正在编写一个 vba 代码,我将在其中设置一些公共 var 以在许多潜艇中使用 像这样在用户表单代码中声明的变量
public xxxx as string
sub vars()
xxxx = "test"
end sub
Private Sub CommandButton1_Click()
' test button
MsgBox ("pub var is " & xxxx)
End Sub
当我点击测试按钮时,消息框是空白的,看起来它看不到 pub var aney想法问题出在哪里 (即使我在模块或此工作簿的代码中将 public xxxx 设置为 srtring,我也会得到相同的结果) 谢谢
【问题讨论】:
-
可能发生的情况是,您运行
vars子程序并将"test"保存到xxxx,然后脚本停止运行。一旦脚本停止,所有变量都会消失 - 什么都没有保存。您需要在CommandButton1_Click子中调用vars- 如果您确实需要在脚本运行之间保存一个值,请将其保存在单元格中(如果使用 excel)或表中(在 Access 中)。 -
1.你在哪里调用子程序'vars'? 2. xxxx在哪里定义?如果您正确定义,设置值,然后引用,您的代码将起作用。
-
感谢 cmets。 @Acantud是的,我每次需要时都需要调用xxxx(我正在使用excel,xxxx将定义一列中的最后一个空行,我将在很多地方使用这个var,所以我不会每次都声明它我会使用)。
-
@Wayne G.Dunn : 子程序 vars 在主用户表单代码中编码,xxxx 定义在 vars sub 内部的同一个地方,并且在用户表单代码的开头我声明了一个公共 xxxx。跨度>