我似乎无法获得如下语法更正:
Sheet(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
答案 0 :(得分:1)
您应该使用:
input
或者使用您的语法,您需要:
Set SortRnge = Range(StSrtRnge,NdSrtRnge)
答案 1 :(得分:1)
Range要求两个单元格用逗号或字符串地址分隔
目前size_bytes
和RANGE("A3")
可能位于不同的工作表上,如果在设置Range("EndSrtRnge")
时错误的工作表有效 - 您还没有指定它所在的工作表。
Range("A3")
只需仔细检查 - 在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
上设置EndSrtRnge
,然后在运行代码之前选择Sheet1
,只使用Sheet2
生成Application-defined or object-defined error
。