Vba:値をアルファベット順に並べ替える方法
VBA で次の基本構文を使用すると、範囲内の値をアルファベット順に並べ替えることができます。
Sub SortAlphabetical()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, Header:=xlYes
End Sub
この特定の例では、列 A の値に基づいて範囲A1:B11の行をアルファベット順 (A から Z) に並べ替えます。
値を逆アルファベット順 (Z から A) に並べ替える場合は、代わりにOrder1:=xlDescendingを指定できます。
Header:=xlYesは、最初の行をヘッダー行として扱うことを指定していることに注意してください。
次の例は、この構文を実際に使用する方法を示しています。
例: VBA を使用して値をアルファベット順に並べ替える
さまざまなバスケットボール選手に関する情報を含む次のデータセットが Excel にあるとします。
チーム名に基づいて行をアルファベット順に並べ替えたいとします。
これを行うには、次のマクロを作成できます。
Sub SortAlphabetical()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, Header:=xlYes
End Sub
このマクロを実行すると、次の出力が表示されます。
行がチーム名のアルファベット順 (A から Z) に並べ替えられるようになりました。
行を逆アルファベット順 (Z から A) に並べ替えるには、 Order1:=xlDescendingを指定できます。
Sub SortAlphabetical()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlDescending, Header:=xlYes
End Sub
このマクロを実行すると、次の出力が表示されます。
行はチーム名によってアルファベットの逆順 (Z から A) に並べ替えられるようになりました。
注 #1 : この例では、1 つの列でソートしました。ただし、さらに多くのキーを指定して、複数の列で並べ替えることができます。
注 #2 : VBA の並べ替えメソッドの完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。