2013-09-29 123 views
0

我有一些代码,而且我想要访问的变量几个模块在我启动模块使用的变量在多个模块

我声明的变量为“公共” - 这是什么我希望它可以让我在访问不同的模块中的变量...

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

然后我打电话了一个窗体从我做起模块

Form1.show 

用户窗体一堆文本框,下拉菜单等平常的东西,到目前为止,所有的工作...

当我点击“Button1的”它调用不同的模块 - 我试图分裂代码,以便我在表格上的代码是没有那么长,这样可以把事情逻辑。

call header_m 
在此模块中

我想有Ttermend的价值,但令我惊讶的是空....

在主窗体中的值是有的,但只要我跳到另一个模块他们是空白......

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

为什么?我认为通过宣布它应该可用于任何模块?不是吗?

回答

0
  1. 确保DIMS是一个标准模块
  2. 确保DIMS先于任何一个替补或功能
  3. 确保变量赋值使用它们
  4. 解决您的点心语法前:

使用:

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

而不是

Dim a, b, c As String 
+0

嗨,tx为此。奇怪的是,如果我把代码从模块中,并粘贴直接回到用户窗体(在拨打电话的......)一切工作虎背熊腰,脚蹬dory的罚款。我试过变量传递给模块'呼叫header_m(Ttermend)'但没有雪茄无论是。 – Haissam

+0

刚刚创建一个空白工作簿简单并在那里工作正常。仍然不明白为什么原来的不起作用。如果我在调用模块之前先做一个MsgBox来显示该值,则会分配该值。在模块中,第一件事情是相同的值一个MsgBox,它是空白..奇怪.. I'll去打猎更多一些。 – Haissam