リスト・テーブルを並べ替える
テーブル(リスト)を並べ替えるには、Sort メソッド(Excel 2003 以降)や Sort オブジェクト(Excel 2007 以降)を使用します。
Sort メソッド に関しての詳細は 並べ替え(Sort メソッド)、Sort オブジェクト に関しての詳細は 並べ替え(Sort オブジェクト, SortFields コレクション) を参照してください。
リスト・テーブルの並べ替え(Sort オブジェクト)使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
Sub Sample_ListObject_Sort01() 'Sortオブジェクトを使って並べ替え(Excel 2007 以降) Sheets("Sheet5").Activate Dim mysheet As Worksheet Dim mytbl As ListObject Set mysheet = ActiveWorkbook.ActiveSheet On Error GoTo ErrH Set mytbl = mysheet.ListObjects("成績表03") '並べ替え(合計値、降順) With mytbl.Sort With .SortFields .Clear .Add Key:=Range("H1"), _ SortOn:=xlSortOnValues, _ Order:=xlDescending, _ DataOption:=xlSortNormal End With .Header = xlYes .Orientation = xlTopToBottom .Apply End With Exit Sub ErrH: MsgBox "並べ替えを実行できませんでした。" End Sub |
実行結果
サンプルVBAソース 実行前
サンプルVBAソース 実行後
リスト・テーブルの並べ替え(Sort メソッド)使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
Sub Sample_ListObject_Sort02() 'Sortメソッドを使って並べ替え Sheets("Sheet5").Activate Dim mysheet As Worksheet Dim mytbl As ListObject Set mysheet = ActiveWorkbook.ActiveSheet On Error GoTo ErrH Set mytbl = mysheet.ListObjects("成績表03") '並べ替え(名前、昇順) mytbl.Range.Sort key1:=Range("A1"), _ order1:=xlAscending, _ Header:=xlYes, _ Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin Exit Sub ErrH: MsgBox "並べ替えを実行できませんでした。" End Sub |
実行結果
サンプルVBAソース 実行前
サンプルVBAソース 実行後