命名范围的语法错误

时间:2017-03-17 14:13:13

标签: excel vba excel-vba syntax-error

我似乎无法获得如下语法更正:

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

2 个答案:

答案 0 :(得分:1)

您应该使用:

input

或者使用您的语法,您需要:

Set SortRnge = Range(StSrtRnge,NdSrtRnge)

答案 1 :(得分:1)

Range要求两个单元格用逗号或字符串地址分隔 目前size_bytesRANGE("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