大量の表を一番左の列を基準に並び替えるという鬼作業が発生しました。。。
マクロ使います!
VBAのコード
Sub SortByFirstColumn() Dim rng As Range ' 選択範囲を取得 Set rng = Selection ' 選択範囲が空でないか確認 If Not rng Is Nothing Then ' 選択範囲の一番左の列を基準に昇順で並び替え rng.Sort Key1:=rng.Columns(1), Order1:=xlAscending, Header:=xlGuess Else MsgBox "範囲を選択してください。", vbExclamation End If End Sub
解説
Sub SortByFirstColumn(): マクロを定義します。
Dim rng As Range: 範囲オブジェクトを宣言します。
Set rng = Selection: 現在選択されている範囲を取得します。
If Not rng Is Nothing Then: 選択範囲が空でないかを確認します。
rng.Sort Key1:=rng.Columns(1), Order1:=xlAscending, Header:=xlGuess: 一番左の列を基準に昇順で並び替えます。
- Key1: 並び替えの基準となる列を指定します。この場合、選択範囲の一番左の列です。
- Order1: 昇順(xlAscending)で並び替えます。
- Header: ヘッダー行を自動的に判別します(xlGuess)。
Else: 範囲が選択されていない場合にメッセージを表示します。
End If: If文の終了。
End Sub: マクロの終了。
さいごに
上記コードは並び替えをしたいデータの入っているエクセルファイルに記載する必要があります。
拡張子を.xlsmにしないと保存できないので注意してね!