Попытка создать цикл, который проходит через несколько рабочих листов, выбирает таблицу и сортирует ее на основе нескольких критериев. На каждом листе только одна таблица, и это то, к чему я пришел.Цитирование через несколько рабочих листов и таблиц для сортировки нескольких критериев
Sub sorter()
'
' sorter Macro
'
' Keyboard Shortcut: Ctrl+Shift+F
'
Dim varTblSortName As Variant
varTblSortName = ActiveSheet.Name
Dim Client As Worksheet
Dim rng As Range
For Each Client In ActiveWorkbook.Worksheets
'This tests to make sure the code is only run on Client_ sheets
If InStr(1, Client.Name, "Client_", vbTextCompare) Then
Set rng = ActiveSheet.ListObjects(1)
Worksheets(Client.Name).Activate
'ActiveSheet.ListObjects(1).Range.Select
'Range(, Selection.End(xlDown)).Select
'Range(Selection, Selection.End(xlToRight)).Select
'ActiveWorkbook.Worksheets("Client_Jamie").ListObjects("Client_Jamie").Sort. _
ActiveSheet.ListObjects(1).Sort.SortFields.Clear
ActiveWorkbook.ActiveSheet.ListObjects(1).Sort. _
SortFields.Add Key:=Range("varTblSortName[Asset Class]"), SortOn:= _
xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.ActiveSheet.ListObjects(1).Sort. _
SortFields.Add Key:=Range("varTblSortName[Sector]"), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.ActiveSheet.ListObjects("varTblSortName").Sort. _
SortFields.Add Key:=Range("varTblSortName[Ticker]"), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.ActiveSheet.ListObjects("varTblSortName").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
Next Client
End Sub
Есть ли что-нибудь, что не работает должным образом? Если нет, тогда я рекомендую CodeReview. – user3819867
Я хотел упомянуть об этом в сообщении, но я думаю, что проблема, с которой я столкнулась, - это не признание varTblSortName как диапазона в части Range. Каждая таблица имеет то же имя, что и активный лист. На листе, озаглавленном «Страны», есть таблица внутри нее «Страны». – chs