データベースから Listobject マクロを介して入力された Excel のテーブルがあります。
次のコードを使用してテーブルを並べ替えることができます。
'Sort on projecttabel
Dim lo As Excel.ListObject
Set lo = Plan.ListObjects(1)
With lo
.Sort.SortFields.Clear
.Sort.SortFields.Add _
Key:=Range("Table_appnlvd03_nkmgo_report_NKMGO_Report__KHNS_EFTTS_KPI32[klant]"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
.Sort.SortFields.Add _
Key:=Range("Table_appnlvd03_nkmgo_report_NKMGO_Report__KHNS_EFTTS_KPI32[Status]"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
.Sort.SortFields.Add _
Key:=Range("Table_appnlvd03_nkmgo_report_NKMGO_Report__KHNS_EFTTS_KPI32[RFO plandatum]"), SortOn:=xlSortOnValues, Order:=xlDescending, _
DataOption:=xlSortNormal
.Sort.SortFields.Add _
Key:=Range("Table_appnlvd03_nkmgo_report_NKMGO_Report__KHNS_EFTTS_KPI32[Uitvoeren montage plan start]"), SortOn:=xlSortOnValues, Order:=xlDescending, _
DataOption:=xlSortNormal
With .Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
「ステータス」には、1から100の範囲の複数の整数値があります。私がしたいのは、ステータスと別の列に基づいて行をソートすることです。私が遭遇する問題は、並べ替える「2番目の列」がステータスごとに異なることです。
私が作成したいのは、さまざまな日付列がステータスごとに降順でソートされる「ガント」のようなテーブルです。例: (DD-MM-YYYY)
[Status] [date1] [date2] [date3]
1 **10-01-2015** 12-02-2015 31-03-2015
1 **09-01-2015** 14-02-2015 10-03-2015
1 **08-01-2015** 06-02-2015 05-03-2015
1 **07-01-2015** 18-02-2015 28-03-2015
2 17-01-2015 **15-02-2015** 10-03-2015
2 27-01-2015 **14-02-2015** 10-03-2015
2 04-01-2015 **13-02-2015** 16-03-2015
2 31-01-2015 **05-02-2015** 10-03-2015
5 18-01-2015 12-02-2015 **30-03-2015**
5 31-01-2015 18-02-2015 **27-03-2015**
5 17-01-2015 04-02-2015 **26-03-2015**
5 07-01-2015 27-02-2015 **08-03-2015**
5 09-01-2015 24-02-2015 **03-03-2015**
など これは可能ですか?