使用VBA对命名Excel区域进行排序,使用DIM引用命名区域,我得到一个错误

使用VBA对命名Excel区域进行排序,使用DIM引用命名区域,我得到一个错误,excel,vba,sorting,named-ranges,Excel,Vba,Sorting,Named Ranges,我正在使用VBA对命名的Excel区域进行排序,使用DIM引用命名的区域,我得到一个错误 '首先将命名范围指定给变量: Dim Sales_Data_Range As String Sales_Data_Range = "Rpt_AM_04_Sales_ShipTo" '这是有效的(请注意,Sales_Data_Range在ListObjects()中有效: '但是当我在下面的代码中替换--Rpt\u AM\u 04\u Sales\u Ship-with-Sales\u Data\u Ra

我正在使用VBA对命名的Excel区域进行排序,使用DIM引用命名的区域,我得到一个错误

'首先将命名范围指定给变量:

Dim Sales_Data_Range As String 
Sales_Data_Range = "Rpt_AM_04_Sales_ShipTo"
'这是有效的(请注意,Sales_Data_Range在ListObjects()中有效:

'但是当我在下面的代码中替换--Rpt\u AM\u 04\u Sales\u Ship-with-Sales\u Data\u Range-时,我会收到一条错误消息

ActiveWorkbook.Worksheets(WSA_tab_name).ListObjects(Sales_Data_Range).Sort. _
    SortFields.Add2 Key:=Range(Sales_Data_Range[[#All],[_RowNum]]), SortOn:= _
    xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
我试过用括号和引号,但没法用。 如果有任何建议,我将不胜感激

Brian Stafford的代码纠正了这个问题 更改自:键:=范围(销售数据范围[[全部],[行数])

“用这个来代替

Key:=Range(Sales_Data_Range & "[[#All],[_RowNum]]") 

您正试图从一个字符串转换为使用变量构建的字符串。因此,请尝试此
Sales\u Data\u Range&“[[[come],[u RowNum]””
I按照您的建议,将代码更改为Key:=Range(Sales\u Data\u Range&“[[come],[u RowNum]])。这非常有效。感谢您和Siddharth的快速支持。请尝试
Key:=工作表(WSA_tab_name).Range(销售_数据_Range&“[[#全部],[u RowNum]])
Key:=Range(Sales_Data_Range & "[[#All],[_RowNum]]")