2013-09-29 124 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