gpt4 book ai didi

excel - 当我循环通过 ActiveWorkbook.Names 并尝试使用 VBA 删除命名范围时,为什么会出现 1004 错误?

转载 作者:行者123 更新时间:2023-12-04 20:51:41 24 4
gpt4 key购买 nike

我有一个宏需要删除我的工作簿中的所有命名范围。每次运行它时,我都会收到 1004 运行时错误,除非我包含错误处理程序。当我包含一个错误处理程序时,它会起作用并且实际上会删除所有命名范围。为什么会这样?对于上下文,我在下面显示的代码是 sub 的摘录。

这有效并且不会产生错误:

Dim nm As Name
Dim wb3 As Workbook
Set wb3 = ActiveWorkbook

For Each nm In wb3.Names
On Error GoTo Skip
nm.Delete
Skip:
On Error GoTo 0
Next

这给出了 1004 错误:
Dim nm As Name
Dim wb3 As Workbook
Set wb3 = ActiveWorkbook

For Each nm In wb3.Names
nm.Delete
Next

错误发生在 nm.Delete

最佳答案

问题是 Excel 试图删除它创建的一些以 _xlfn 开头的函数。

以下代码没有错误:

Dim nm As Name
Dim wb3 As Workbook
Set wb3 = ActiveWorkbook

For Each nm In wb3.Names
If Not Left(nm.Name, 6) = "_xlfn." Then
nm.Delete
End If
Next

关于excel - 当我循环通过 ActiveWorkbook.Names 并尝试使用 VBA 删除命名范围时,为什么会出现 1004 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58068164/

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