2012-10-01 58 views
2

我有一個帶有三個按鈕的用戶窗體。當點擊OK按鈕我寫了下面的代碼:編譯錯誤:未在vba中定義的子項或功能

Private Sub CommandButton2_Click() 
    Call calculateCost 
End Sub 

和子方法我在工作表Sheet1中寫道是:

Public Sub calculateCost() 
    Dim kilo As String 
    kilo = Worksheets("Sheet1").TextBox1.Text 
    MsgBox "value" & kilo 
End Sub 

運行代碼時即時得到錯誤IM。在調用calculateCost附近未定義的子或函數。這是爲什麼發生?如何解決這個問題。 Thankyou

+0

嘗試刪除單詞呼叫。 – Bingo

+0

不,它仍然是一樣的錯誤 – Pramod

回答

4

將您的calculateCost過程移動到標準模塊(插入 - 模塊在VBE中)。類模塊中的過程(包括圖紙類模塊)不能像這樣調用。您可以通過其他方式從表單的類模塊中調用它,但是在您的過程中沒有看到任何需要表單模塊的內容,因此它可能屬於標準模塊。

+0

謝謝。有效。但即時獲取運行時錯誤,同時將文本框的值存儲到變量中:object不支持此方法或變量。你能幫我這個 – Pramod

+0

@Pramod代替'TextBox.Text'嘗試使用'TextBox.Value' –