在我的Excel工作簿有時我收到以下錯誤:VBA用戶定義類型沒有定義(有時只)
vba user defined type not defined
我知道,這通常意味着有一些類型的代碼中脫穎而出( VBA)不知道。
奇怪的是,該代碼運行完全正常,並在編譯不會發生這種情況。
此錯誤隨機在Application.Calculate家庭的所有方法和F9按鍵有時occures。 並不總是,但有時。
同樣的行爲與此說明一個VBE錯誤消息:
visual basic module contains a syntax error
當我點擊調試它的土地上application.calculate(full)
,如果我繼續碼(與F5)繼續沒有錯誤。
編輯: 有時,當我這個功能複製到另一個工作簿它得到受用戶自定義類型的錯誤:
Option Explicit
Public Function MergeAreaValue(rng As Range) As String
On Error Resume Next
If rng.MergeCells = True Then
MergeAreaValue = rng.MergeArea.Cells(1).Value2
Else
MergeAreaValue = rng.Value2
End If
End Function
的函數從合併後的區域價值。
EDIT2: 我已經在用戶自定義類型的錯誤總是occures的計算,但不會打破它。該工作簿仍然計算正常..該消息只是煩人的。
是否在您自己的代碼或庫中定義了違規類型?如果是後者,是否檢查過它是否包含在工具/參考中? – jsheeran
以及我應該注意到,這個錯誤並不指向我的聲明。 (就像我認爲它應該這樣做) 該工作簿包含了很多代碼。但唯一的(不是標準的)外部引用是Microsoft腳本運行時。和微軟XML – JoshK
你碰巧有類似的變量是公開的嗎? –