在多个模块中使用变量

时间:2013-09-29 15:38:00

标签: excel-vba vba excel

我有一些代码和一些模块,我想访问变量。

在我的启动模块中,我将变量声明为“公共” - 这是我希望能让我访问不同模块中的变量...

Option Explicit
Public Ttermanf, Ttermend, Date2, DateN, Ttermeld  As Date
Public ft, mainb_ret, swp, Tmod, Tsub4, Tslz4 As String

然后我从我的启动模块中调用用户表单

Form1.show

在userform上有一堆文本框,下拉列表等。通常的东西,到目前为止都工作...

当我点击“button1”时,它会调用不同的模块 - 我试图拆分代码,这样我在表单上的代码就不那么长了,从而在逻辑上对事物进行分组。

call header_m

在这个模块中我希望得到Ttermend的价值,但令我惊讶的是它是空的....

在主窗体中,值存在,但只要我跳到另一个模块,它们就是空白......

建议?我尝试使用全局,但同样的事情。

为什么?我想通过宣布它是公开的,它应该可以在任何模块中使用?不是吗?

1 个答案:

答案 0 :(得分:0)

  1. 确保Dims位于标准模块中
  2. 确保Dims位于任何Subs或Functions之前
  3. 确保变量在使用前已分配值
  4. 修复Dim语法:
  5. 使用:

    Dim a As String, b As String, c As String
    

    而不是

    Dim a, b, c As String