gpt4 book ai didi

VBA 用户定义类型未定义(仅有时)

转载 作者:行者123 更新时间:2023-12-04 21:00:45 31 4
gpt4 key购买 nike

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

vba user defined type not defined



我知道这通常意味着代码中有某种类型 excel(VBA) 不知道。

奇怪的是代码运行得非常好,而且在编译时不会发生这种情况。

此错误有时会在 Application.Calculate 系列的所有方法和 F9 按键上随机发生。
不总是但有时。

相同的行为具有带有此描述的 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

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

编辑2:
我的用户定义类型错误总是在计算时发生,但不会破坏它。工作簿仍然计算正常..消息很烦人。

最佳答案

我觉得 “有时” 是关键字。尝试反编译文件。与 this , 例如。

多年来我使用它没有任何问题,但只有好处:)
Excel 没有内部反编译器,如 Access/decompile。
不要忘记自己备份,而不仅仅是工具:)
.

关于VBA 用户定义类型未定义(仅有时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36940311/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com