Я использую VBA для сортировки именованного диапазона Excel, используя DIM для ссылки на именованный диапазон, и получаю ошибку
'Начните с присвоения именованного диапазона переменной:
Dim Sales_Data_Range As String
Sales_Data_Range = "Rpt_AM_04_Sales_ShipTo"
'Это работает (обратите внимание, что Sales_Data_Range работает в ListObjects ():
ActiveWorkbook.Worksheets(WSA_tab_name).ListObjects(Sales_Data_Range).Sort. _
SortFields.Add2 Key:=Range("Rpt_AM_04_Sales_ShipTo[[#All],[_RowNum]]"), SortOn:= _
xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
' Но когда я заменяю - Rpt_AM_04_Sales_Ship - на - Sales_Data_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
Я пытался использовать скобки и кавычки, но не могу заставить их работать. Буду признателен за любые предложения.
Этот код от Брайана Стаффорда исправил проблему. Измените: Ключ: = Диапазон (Sales_Data_Range [[# All], [_ RowNum]])
'Используйте это вместо
Key:=Range(Sales_Data_Range & "[[#All],[_RowNum]]")