VBA用户定义types未定义(仅有时)

在我的Excel工作簿有时我得到以下错误:

未定义vba用户定义的types

我知道这通常意味着在代码中有一些types的excel(VBA)不知道。

奇怪的是代码运行得很好,编译时不会发生这种情况。

这个错误有时在Application.Calculate系列的所有方法和F9按键中随机发生。 并不总是,但有时。

具有此描述的相同的行为具有vbe错误消息:

visual basic模块包含一个语法错误

当我点击debugging它着陆application.calculate(full) ,如果我继续代码(与F5)它继续没有错误。

编辑:有时当我复制此function到另一个工作簿它受到Userdefinedtypes错误的影响:

 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 

该函数从合并区域获取值。

编辑2:我有userdefinedtypes的错误总是发生在计算,但不打破它。 该工作簿仍然计算正常..消息只是烦人的。

似乎我“有时”是关键字。 尝试反编译文件。 以此为例。

多年来,我用它没有任何问题,但只有好处:) Excel没有内部反编译作为访问/反编译。 不要忘记自己备份,而不只是工具:)。