![](https://excel-vba.work/wp-content/themes/cocoon-master/images/b-woman.png)
VBAで
・テーブル化された表を並び替え(ソート)
できます!
VBAコード
ここでは例として、
・シート「sample」上の
・テーブル化された表「テーブルA」を
・列「名前」で昇順で並び替え(ソート)
します。
![テーブル化された表「テーブルA」](https://excel-vba.work/wp-content/uploads/2023/05/vba_table_sort_001.png)
Option Explicit
Sub sample()
Dim ws As Worksheet
Dim tableName As String
Dim columnName As String
Dim table As ListObject
'対象シート
Set ws = Worksheets("sample")
'テーブル名
tableName = "テーブルA"
'列名
columnName = "名前"
'テーブルを取得
Set table = ws.listObjects(tableName)
'現在のテーブルのソートの設定をクリア
table.Sort.SortFields.Clear
'テーブルをソート
table.Range.Sort key1:=table.ListColumns(columnName).Range, order1:=xlAscending, Header:=xlYes
End Sub
実行結果
テーブル化された表を並び替え(ソート)できました。
※列「名前」で並び替え(ソート)できました。
参考①
表のテーブル化については、以下の記事をご確認ください。
参考②
上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。
●「ListObjectオブジェクト」の「Sort」プロパティ
●「Sortオブジェクト」の「SortFields」プロパティ
●「SortFieldsオブジェクト」の「Clear」メソッド
●「ListObjectオブジェクト」の「Range」プロパティ
●「Rangeオブジェクト」の「Sort」メソッド