Я пытаюсь отсортировать таблицу в своей таблице, используя пользовательскую сортировку. Пройдя немного взад и вперед, я придумал этот макрос:
Sub sort_SI()
With Resultat_SI.Sort
.SortFields.Clear
.SetRange Resultat_SI.Range(Resultat_SI.Range("A1"), Resultat_SI.Range("J" & Resultat_SI.Rows.Count).End(xlUp))
.SortFields.Add Key:=Resultat_SI.Columns("J"), CustomOrder:=Join(Application.Transpose(Fargar.ListObjects("Fargekoder").ListColumns(3).DataBodyRange), ",")
.Header = xlYes
.Apply
End With
End Sub
Он работает просто отлично, и порядок моих записей меняется после того, как саб завершен, но, кажется, нет смысла в заказе. По крайней мере, я ожидаю, что строки с одинаковыми значениями в столбце J будут сгруппированы вместе, но, похоже, это не так.
Печать Sort.SetRange
в ближайшее окно показывает, что это
как и ожидалось, в то время как Join(Application.Transpose(Fargar.ListObjects("Fargekoder").ListColumns(3).DataBodyRange), ",")
дает
Green,Brown,Black,Black (600/610),Unmarked,Pink,Blue,White,White (378/428),Yellow,Ukjent,Red
также, как и ожидалось.
Два листа, на которые я ссылаюсь в подпункте, выглядят так:
Resultat_SI
Fargekoder
По сути, я хочу, чтобы моя таблица в Resultat_SI сортировалась в том же порядке, в котором цвета отображаются в таблице в Fargekoder, с пустыми результатами, отображаемыми внизу, но я с треском проваливаюсь при достижении этого результата. Может кто-нибудь сказать мне, где я иду не так?