関数・メソッド

アイコンを基準に並べ替える【Sortオブジェクト】【ExcelVBA】

アイコンを基準に並べ替える

Sortオブジェクトを使うと色んな条件を指定して、データを並べ替えることができますが、
条件付き書式で設定したアイコンを基準にデータを並べ替えたいときは、
引数SortOnxlSortOnIconを指定します。

サンプルコード

Public Sub Sample()

 With Worksheets(1).Sort
     .SortFields.Clear  'ソート設定をクリア
     '一番目の条件に上矢印を設定
     .SortFields.Add(Key:=Range("A1"), SortOn:=xlSortOnIcon, Order:=xlAscending) _
     .SetIcon Icon:=ActiveWorkbook.IconSets(xl3Arrows).Item(3)
     '二番目の条件に横矢印を設定
     .SortFields.Add(Key:=Range("A1"), SortOn:=xlSortOnIcon, Order:=xlAscending) _
     .SetIcon Icon:=ActiveWorkbook.IconSets(xl3Arrows).Item(2)
     .SetRange Range("A1:A4")   '並べ替えるセルの範囲を指定
     .Header = xlGuess          'タイトルの有無を自動判定
     .Apply                     '上記条件で並べ替える
  End With
  
End Sub

 

注意点

  • 事前にA1~A4セルにアイコンセットを設定し、数値を入力しておいてください。
  • IconSetsにはアイコンセットの定数または値を入力します。
  • Itemにはアイコンセット内のアイテム番号を入力します。
  • どのアイコンセットが使用されているかわからないときは
    Debug.Print Range("A1").FormatConditions(1).IconSet.ID

    これで設定されているアイコンセットの値を取得することができます。

 

関連記事

 

コメント

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