У меня есть макрос, который я использую для сортировки и скрытия полей внутри таблицы, однако пользователи, которые используют это, не все имеют одинаковые поля или даже в одном и том же месте:
Пользовательский "Порядок" - это столбец 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