gpt4 book ai didi

vba - 使用 VBA 在 Excel 中删除损坏的命名范围

转载 作者:行者123 更新时间:2023-12-04 21:57:51 25 4
gpt4 key购买 nike

更大的宏的一部分涉及检测和删除在将工作表移动/复制到主工作簿时无意复制的命名范围。这些“损坏的”命名范围由名称管理器中显示“#REF!”的“值”列指示。

我尝试使用以下宏删除这些命名范围:

Sub DeleteBrokenNamedRanges()
Dim NR As Name
Dim numberDeleted As Variant

numberDeleted = 0
For Each NR In ActiveWorkbook.Names
If InStr(NR.Value, "#REF!") > 0 Then
NR.Delete
numberDeleted = numberDeleted + 1
End If
Next

MsgBox ("A total of " & numberDeleted & " broken Named Ranges deleted!")

End Sub

不幸的是,返回值为 0,并且没有删除命名范围。我玩弄了保护/取消保护和 InStr 的一些参数,但没有任何效果。

旁注 - NR.Value 的回归不是#REF!或与预期类似的错误代码,但实际上是 =C:\Blahblah\blarg.xls路径。

对此的任何帮助将不胜感激,谢谢!

最佳答案

我不认为错误代码作为范围值存在(不是我对此有任何权威)。如果有效范围有 #REF 以外的错误!这可能是个问题,但我认为类似

IsError(NR.RefersToRange)

可能是检查损坏的命名范围的好方法吗?

关于vba - 使用 VBA 在 Excel 中删除损坏的命名范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40984119/

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