簡體   English   中英

VBA用戶定義的類型未定義(僅有時)

[英]VBA user defined type not defined (only sometimes)

在我的Excel工作簿中, 有時會出現以下錯誤:

vba用戶定義的類型未定義

我確實知道這通常意味着excel(VBA)不知道代碼中存在某種類型。

奇怪的是,代碼運行得很好,並且在編譯時不會發生這種情況。

有時會在Application的所有方法上隨機發生此錯誤。計算家族和F9按鍵。 並非總是如此,但有時。

相同的行為具有以下描述的vbe錯誤消息:

視覺基本模塊包含語法錯誤

當我單擊debug時,它會落在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:我自定義類型錯誤總是在計算時發生,但不會破壞它。 該工作簿仍計算正常..該消息只是令人討厭。

在我看來, “有時”是關鍵字。 嘗試反編譯文件。 這個為例。

多年來,我使用它沒有任何問題,但是只有好處:) Excel沒有作為Access / decompile的內部反編譯器。 不要忘記自己備份,而不只是工具:)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM