2012-08-15 101 views
3

在VBA excel程序中遇到了麻煩。VBA Excel「需要變量」

Sub code(s) 
... 
code = t 
End Sub 

然後:

Sub CommandButton1_Click() 
... 
For i = 0 To size 
    current_y = code(string_array(i)) 
... 
End Sub 

當我運行程序時,我得到這個錯誤「變量所需」(不知道,我工作的Excel的日語版本)。 Sub CommandButton1_Click突出顯示,並在CommandButton1_Click內選擇代碼。不知道爲什麼,但它必須是簡單的...

+1

注意:強類型s(例如_s作爲Integer_)。否則,它默認爲最可能不需要的變體。 – ray 2012-08-16 10:02:45

回答

6

你試圖返回一個結果從一個子。嘗試宣告它作爲一個函數來代替,因爲這是能值返回給調用者:

Function code(s) 
... 
code = t 
End Function 

如果它使任何清晰的,我的英語版本的錯誤信息是:

預期的功能或變量

+0

+ 1對我來說太快了LOL – 2012-08-15 23:55:54

+0

是的,總速度惡魔,哈哈。 – mkingston 2012-08-15 23:57:14

+0

完全有效。非常感謝 – Cyril 2012-08-15 23:58:54

0

該代碼是否包含Option Explicit?也許錯誤轉化爲「需要變量聲明」?嘗試刪除選項明確 - 如果修復它刪除該行,然後通過檢查所有變量聲明(例如dim current_y作爲字符串)。