Я работал над кодом для сортировки блока данных, используя Range.Sort
, используя пользовательский порядок сортировки. Я пытался записывать макросы и смотреть в Интернете, но пришел в замешательство по поводу этой проблемы.
- Для аргумента
key1:=
; это одна ячейка (например, Range("A1")
) или целый столбец?
- Как именно я могу использовать пользовательский порядок сортировки в
OrderCustom:=
?
- В случае, если я пойду об этом все неправильно;
Range
в Range.Sort
может быть где угодно, пока он находится в одном непрерывном блоке, правильно?
Вот код, с которым я работаю:
Sub Test()
Dim quantity As Variant
quantity = 2 + WorkshetFunction.Count(Range("A" & 3, "K" & 900))
With Range("A" & 3, "K" & quantity)
.Sort key1:=Range("A" & 3)
Order:=xlAscending
Header:=xlNo
OrderCustom:="VALID, GOOD, DUE, OVERDUE, WAY OVERDUE, MISSING"
'> This is the order in which I want the items on this list sorted by.
End With
End Sub
Range("A" & 3, "K" & quantity)
относится к блоку данных, содержащему в "A"
«состояние» некоторых элементов, определяемое датами окончания их калибровки, среди прочих данных, которые не имеют отношения к этой цели, и я не на свободе делиться. Все, что я прошу, это помочь понять внутреннюю работу метода .Sort
. Спасибо!