В надежде, что этот новичок здесь может получить помощь при сортировке с использованием макроса, пожалуйста.Сортировка таблицы с использованием макроса
У меня есть таблица в диапазоне D: R для сортировки.
Во-первых, вся таблица должна быть отсортирован в порядке возрастания по столбцу Q.
Тогда же таблице упорядочиваются в порядке возрастания колонке P.
Наконец вся таблица должна принести желтые выделенные строки на столбец D вверху.
Моя текущая формула записана с использованием встроенного рекордера, и она не работает.
Может кто-нибудь предложить какие-либо предложения? Спасибо заранее!
'Sorting for easier read
'Check for filter, turn on if none exists
If Not ActiveSheet.AutoFilterMode Then
ActiveSheet.Range("D1:R1").AutoFilter
End If
'Sort in order of column Q
ActiveWorkbook.Worksheets(4).AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets(4).AutoFilter.Sort.SortFields.Add Key:=Range(_
"Q1:Q10000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets(4).AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
End With
'Sort in order of column P
ActiveWorkbook.Worksheets(4).AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets(4).AutoFilter.Sort.SortFields.Add Key:=Range(_
"P1:P10000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets(4).AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
End With
'Bring highlighted row to the top
ActiveWorkbook.Worksheets(4).AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets(4).AutoFilter.Sort.SortFields.Add(Range("D:D" _
), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(255 _
, 255, 0)
With ActiveWorkbook.Worksheets(4).AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
End With
большое спасибо за Ваш ответ! Моя таблица может действительно варьироваться от 2 строк до 2000 строк, поэтому с индикатором Field: = 52, только что изменилось на 2000? Также с «Таблицей1» это общий, который просто автоматически подберет применимые данные? Наконец, мои данные сортировки ищут номера в целом, как бы я хотел заменить первый и последний раздел? Извините, что я такой noob. – kitarika
Поле 52 - это столбец 52. Если все ваши значения находятся в истинной таблице, 2000 строк ничего для excel. –