命名范围的语法错误
我似乎无法得到如下语法更正:
工作表(DCRLog)在AE365有一个名为EndSrtRnge的命名范围
我正在尝试将电子表格从A3分类到AE365
Dim StSrtRnge As Range Set StSrtRnge = Range("A3") Dim NdSrtRnge As Range Set NdSrtRnge = Range("EndSrtRnge") Dim SortRnge As Range Set SortRnge = Range(StSrtRnge:NdSrtRnge)*********Syntax Error
最后使用的声明是
SortRnge.Sort Key1:=SortKey, Order1:=xlAscending, Header:=xlYes
你应该使用:
Set SortRnge = Range(StSrtRnge,NdSrtRnge)
或者用你的语法,你需要:
Set SortRnge = Range(StSrtRnge.Address & ":" & NdSrtRnge.Address)
范围期望两个单元格由逗号或string地址分隔。
如果当设置Range("A3")
时出现错误的纸张,则当前RANGE("A3")
和Range("EndSrtRnge")
可能位于不同的纸张上 – 您尚未指定打开的纸张。
Sub Test() Dim NdSrtRnge As Range Set NdSrtRnge = Range("EndSrtRnge") Dim StSrtRnge As Range 'Ensure the start range is on the same sheet as the named range. 'Using just RANGE will place it on the currently active sheet. Set StSrtRnge = NdSrtRnge.Parent.Range("A3") Dim SortRnge As Range Set SortRnge = NdSrtRnge.Parent.Range(StSrtRnge, NdSrtRnge) End Sub
只需重复选中 – 在Sheet1
上设置EndSrtRnge
,然后在运行代码之前selectSheet2
,在使用Range("A3")
时会生成Application-defined or object-defined error
。