在我的Excel工作簿有时中,我收到以下错误:
vba用户定义的类型未定义
我知道这通常意味着代码excel(VBA)中有一些类型不知道。
奇怪的是代码运行得非常好,编译时不会发生这种情况。
此错误有时会在Application.Calculate系列的所有方法和F9按键上随机出现。 并非总是有时候。
相同的行为有一条带有此描述的vbe错误消息:
visual basic module包含语法错误
当我点击调试时,它会落在application.calculate(full)
上,如果我继续使用代码(使用F5),它会继续没有错误。
编辑: 有时,当我将此函数复制到另一个工作簿时,它会受到Userdefined类型错误的影响:
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: 我的用户定义类型错误总是在计算时发生,但不会破坏它。工作簿仍然计算正常..消息很烦人。
答案 0 :(得分:0)
我似乎 “有时” 是关键字。尝试反编译文件。以this为例。
多年来我使用它没有任何问题,但只有好处:) Excel没有内部反编译器作为Access / decompile。 别忘了自己备份,而不仅仅是工具:)