我正在尝试编写一个excel sub,它将从命名范围中的条目填充数组。我对该范围的代码是:
=OFFSET(Home!$B$5,1,0,COUNTA(Home!$B:$B)-1,1)
我正在尝试编写一个vba脚本,该脚本将在调用函数之前检查命名范围是否已填充,但无法查看是否可以使用任何内容。尝试:
Debug.Print ActiveSheet.Range("NamedRange")
返回1004错误。并尝试:
If (IsError(ActiveSheet.Names("NamedRange")) Then
返回相同的错误。有人能指出我正确的方向吗?
答案 0 :(得分:4)
这是你在尝试的吗?
Sub Sample()
Dim rng As Range
Set rng = [NamedRange]
If Application.WorksheetFunction.CountA(rng) = 0 Then _
MsgBox "Range is blank"
End Sub
在VBA中,您可以使用Range属性引用Excel的范围对象。使用方括号([])可以缩短这一点。例如,如果您要引用单元格A1,请使用“[A1]”。 Book1.xlsm的Sheet1中单元格A1的完全限定引用将是Application.Workbooks(“Book1.xlsm”)。工作表(“Sheet1”)。[A1]