ワークシート上の並べ替えは、ツールバーから操作できるので、自動記録でもコードが取得できます。簡単なサンプルを用意して見ました。
サンプルはA~D列の内容を並べ替えるものですが、A~D列を選択すればその列で即座に並べ替えられます。
(画像をクリックすると、このサンプルがダウンロードできます)
並べ替えの状態を確認して下さい。
実際のコードは、以下のようにSortメソッド1行で並べ替えられます。
このマクロは、ワークシート上でセル内容が変わったことのイベントで動作させます。このため、「Worksheet_Change」のイベント処理を使います。
'***************************************************************************************************
' 並べ替えのサンプル Sheet1(Class)
'
' 作成者:井上治 URL:https://www.ne.jp/asahi/excel/inoue/ [Excelでお仕事!]
'***************************************************************************************************
'変更日付 Rev 変更履歴内容------------------------------------------------------------------------>
'03/07/16(1.00)新規作成
'12/01/21(1.01)修正
'20/02/22(1.10)*.xlsm化、他
'***************************************************************************************************
Option Explicit
'***************************************************************************************************
' ■■■ ワークシートイベント ■■■
'***************************************************************************************************
'* 処理名 :Worksheet_Change
'* 機能 :セル値変更イベント
'---------------------------------------------------------------------------------------------------
'* 返り値 :(なし)
'* 引数 :Arg1 = Target(Range)
'---------------------------------------------------------------------------------------------------
'* 作成日 :2003年07月16日
'* 作成者 :井上 治
'* 更新日 :2020年02月22日
'* 更新者 :井上 治
'* 機能説明:
'* 注意事項:
'***************************************************************************************************
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'-----------------------------------------------------------------------------------------------
Dim lngCol As Long ' カラムINDEX
lngCol = Target.Column
' A~D列以外は無視する
If lngCol > 4 Then Exit Sub
' 一旦イベントを停止
Application.EnableEvents = False
' A~D列を選択したセルのカラムで並べ替える(昇順)
Columns("$A:$D").Sort Key1:=Cells(1, lngCol), _
Order1:=xlAscending, _
Header:=xlNo, _
Orientation:=xlTopToBottom
' イベントを再開
Application.EnableEvents = True
' 本ブックを保存済みにする
ThisWorkbook.Saved = True
End Sub
'----------------------------------------<< End of Source >>----------------------------------------