У меня есть макрос, который я использую для сортировки и скрытия полей внутри таблицы, однако пользователи, которые используют это, не все имеют одинаковые поля или даже в одном и том же месте:

Пользовательский "Порядок" - это столбец B, а пользовательский "Порядок" - это столбец D. Когда я создал макрос, я сделал это с помощью настройки моих полей в надежде, что с помощью таблицы этот макрос будет сортироваться и скрываться на основе имен. , (Я был не прав) Мне нужно только 2 поля, в которых отображаются "DriverNo" и "POD Name". Мне также нужно отсортировать по "DriverNo"

Мне не нужно скрывать данные, которые я могу удалить, но я использую столбец AI в качестве поля соответствия для драйверов: =SUMIFS('Order Data'!AI:AI,'Order Data'!C:C,A:A)

Поэтому, если я удалю поля, тот же столбец будет свободен для расчета моего соответствия. Я знаю, что это много, но я застрял. Я не знаю, как гарантировать, что только эти поля скрыты / удалены. Удаленный будет предпочтительным.

Sub Sort() ' ' Sort Macro ' Sheets("Order Data").Select Columns("C:C").Select ActiveWorkbook.Worksheets("Order Data").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("Order Data").AutoFilter.Sort.SortFields.Add2 Key:= _ Range("C1:C403"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _ :=xlSortNormal With ActiveWorkbook.Worksheets("Order Data").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("A:B,K:Z,D:I").Select Range("D1").Activate Selection.EntireColumn.Hidden = True End Sub Sub Sort_Hide() ' ' Sort_Hide Macro ' Sheets("Order Data").Activate Range("A1").Value = 35 Sheets("Order Data").Activate Cells.Select Cells.EntireColumn.AutoFit Range("D5").Select ActiveWorkbook.Worksheets("Order Data").ListObjects("Table2").Sort.SortFields. _ Clear ActiveWorkbook.Worksheets("Order Data").ListObjects("Table2").Sort.SortFields. _ Add2 Key:=Range("Table2[[#All],[DriverNo]]"), SortOn:=xlSortOnValues, _ Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Order Data").ListObjects("Table2").Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("D:N,P:AH").Select Range("Table2[[#Headers],['[D'] Arrival]]").Activate Selection.EntireColumn.Hidden = True Range("O9").Select End Sub

0