関数・メソッド

任意のソート条件を指定して並べ替える【Sortオブジェクト】【SortFields.Add】【ExcelVBA】

任意のソート条件を指定する

Sortオブジェクトを使うと、データを並べ替えることができます。

ユーザー設定リストを使い、より自由にソート条件を指定したい場合、
SortFields.AddメソッドCustomOrderにソート条件を記述することで任意の並べ替えが可能です。

CustomOrderには並べ替えたい値をカンマで区切って指定します。

サンプルコード

Public Sub Data()
    Range("A1") = "項目名"
    Range("A2") = "A"
    Range("A3") = "B"
    Range("A4") = "C"
End Sub
Public Sub Sample()
  With Worksheets(1).Sort
     .SortFields.Clear          'ソート設定をクリア
     '■ソート条件を任意の値で指定する(A,B,C→C,A,B)
     .SortFields.Add Key:=Range("A2"), CustomOrder:="C,A,B"
     .SetRange Range("A1:A4")   '並べ替えるセルの範囲を指定
     .Header = xlYes            '先頭行をタイトルとする
     .Apply                     '上記条件で並べ替える
  End With

End Sub

 

注意点

  • 先に「Data」を実行すると、簡易的なデータが入力されます。
  • Sortオブジェクトだけでは実現できない、複雑な並べ替えが可能になります。

 

関連記事

 

コメント

タイトルとURLをコピーしました