Sub TEST1()
With ActiveSheet.ListObjects("テーブル1")
'「1」列目を、昇順にソート
.Range.Sort key1:=.ListColumns(1).Range, order1:=xlAscending, Header:=xlYes
End With
End Sub
テーブルを用意しておきます。
テーブルを用意
実行すると、「1」列目を「昇順」にソートできます。
「1」列目を「昇順」にソートできた
「1」列目を「昇順」にソートできました。
降順にソートする
次は、テーブルを「降順」にソートしてみます。
Sub TEST2()
With ActiveSheet.ListObjects("テーブル1")
'「1」列目を、降順にソート
.Range.Sort key1:=.ListColumns(1).Range, order1:=xlDescending, Header:=xlYes
End With
End Sub
テーブルを用意しておきます。
テーブルを用意
実行すると、「1」列目を「降順」にソートできます。
「1」列目を「降順」にソートできた
「1」列目を「降順」にソートできました。
見出しを使ってソートすると便利
テーブルを並び替えしたい場合は、「見出し」を使ってソートすると便利です。
列の位置を移動しても、同じVBAコードで実行することができます。
「見出し」を使ってソート
「見出し」を使ってソートしてみます。
「名前」の列を昇順にソート
「名前」の列を昇順にソートするVBAコードです。
Sub TEST3()
With ActiveSheet.ListObjects("テーブル1")
'「名前」の列を、昇順にソート
.Range.Sort key1:=.ListColumns("名前").Range, order1:=xlAscending, Header:=xlYes
End With
End Sub
テーブルを用意しておきます。
実行すると、「名前」の列を昇順にソートできます。
「名前」の列を昇順にソートできました。
「名前」の列を降順にソート
次は、「名前」の列を「降順」にソートするVBAコードです。
Sub TEST4()
With ActiveSheet.ListObjects("テーブル1")
'「名前」の列を、降順にソート
.Range.Sort key1:=.ListColumns("名前").Range, order1:=xlDescending, Header:=xlYes
End With
End Sub
テーブルを用意しておきます。
実行すると、「名前」の列を降順にソートできます。
「名前」の列を降順にソートできました。
列の位置を変更してもソートできる
列の位置を変更して、同じVBAコードでソートできるから、確認してみます。
「名前」の列の位置を変更してみます。
列の位置を変更してみる
「名前」の列の位置を、右に移動してみました。
同じVBAコードを実行してみます。
同じVBAコードでソートできた
同じVBAコードで、「名前」の列をソートできました。
こんな感じで、「見出し」を使ってソートすると便利です。
ソートする場合は連番を振ると便利
ソートする場合は連番を振っておくと、元の並びに戻せるので便利です。
テーブルに連番を振っておく
テーブルに連番を振っておきます。
連番を振っておく
では、テーブルをソートして並びを元に戻してみます。
テーブルをソートして元に戻す
テーブルをソートしてみます。
ソートしたテーブル
連番を昇順でソートすると、テーブルの並びを、元に戻せます。
連番をソートして元に戻す
連番を昇順にソートするVBAコードです。
Sub TEST5()
With ActiveSheet.ListObjects("テーブル1")
'「No.」の列を、昇順にソート
.Range.Sort key1:=.ListColumns("No.").Range, order1:=xlAscending, Header:=xlYes
End With
End Sub