在我的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
你碰巧有类似的变量是公开的吗? –