运行时错误"424":需要对象 检查动态命名区域是否为空



>我在这个问题上使用了解决方案 Excel VBA 动态命名范围:如何检查范围是否为空白,但它对我不起作用,我在Set rng = [volTarget]行上有一个Run-time error'424': Ojbect required

这是代码,我已经更改了 [] 中的名称,它适用于非空的动态命名范围。

Sub Sample()
Dim rng As range
Set rng = [volTarget]
If Application.WorksheetFunction.CountA(rng) = 0 Then _
MsgBox "Range is blank"
End Sub

如果没有名为volTarget的范围,当您尝试像这样[volTarget]计算它时,VBA 会抛出 #NAME 错误。


在代码中,需要处理缺少命名范围的情况。


一种可能的方法是:

Sub Sample()
Dim rng As Range
If Not IsError([volTarget]) Then
Set rng = [volTarget]
If Application.WorksheetFunction.CountA(rng) = 0 Then '=> This is redundant.
MsgBox "Range is blank"
End If
Else
MsgBox "No such range" '==> This is practically your black range as you are using dynamic named range.
End If
End Sub

最新更新