Sortオブジェクト
Excel2007以降に実装されている並べ替え機能です。
Sortメソッドよりも並べ替えの条件に指定できるキーが多彩です。
Sortオブジェクトのメソッド | 説明 |
---|---|
Apply | 現在適用されている並べ替え状態に基づいて範囲を並べ替え |
SetRange | Sortオブジェクトの開始と終了位置を設定 |
SortFields.Addの引数 | 定数 | 説明 |
---|---|---|
Key | ― | 基準セル |
SortOn | xlSortOnValues | 値で並べ替え |
xlSortOnCellColor | 背景色で並べ替え | |
xlSortOnFontColor | 文字色で並べ替え | |
xlSortOnIcon | アイコンで並べ替え | |
Order | xlAscending | 昇順 |
xlDescending | 降順 | |
CustomOrder | ― | ユーザー設定を基準とした並べ替え |
DataOption | xlSortNormal | 文字と数値を別に並べ替え |
xlSortTextAsNumbers | 文字を数値として並べ替え |
Sortプロパティ | 定数 | 説明 |
---|---|---|
Header | xlYes | 先頭行を見出しとする |
xlNo | 先頭行をデータとする | |
xlGuess | 見出しの有無を自動判定する | |
MatchCase | Ture | 大文字と小文字を区別する |
False | 大文字と小文字を区別しない | |
Orientation | xlSortRows | 行方向に並べ替え |
xlSortColumn | 列方向に並べ替え | |
Parent | ― | 指定したオブジェクトの親オブジェクトを取得 |
Rng | ― | 並べ替えるデータの範囲を返す |
SortFields | ― | SortFieldオブジェクトのコレクション |
SortMethod | xlPinYin | ふりがなで並べ替え |
xlStroke | 文字コードで並べ替え |
整数を並べ替えるサンプルコード
Public Sub Sample() '6までの数値をランダムに入力する Dim i Randomize For i = 2 To 10 Cells(i, 1).Value = Int(6 * Rnd(1)) + 1 Next i '■数値を降順で並べ替える With Sheets(1).Sort .SortFields.Clear 'ソートの条件をクリア 'A1を基準とし、引数を指定する .SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal .SetRange Range("A1:A10") 'ソートの範囲を設定 .Header = xlGuess '先頭行を自動判定 .Orientation = xlSortColumns '列方向で並べ替え .Apply '並べ替える End With End Sub
注意点
- Sortオブジェクトを使うとコードが長くなってしまうため、
単純な並べ替えにはSortメソッドを使用するほうがいいでしょう。
コメント