次のコードは、表のセル範囲をB列を基準に昇順、大文字小文字は区別せず並び替えるマクロである。空欄に入る適切な語句を解答しなさい。
Sub Exam1()
With Sheets("Sheet1"). Sort
.SortFields.Clear
.SortFields.Add2 Key:=Range("B2"), Order:=xlAscending
.【 ① 】 Range("A1:C11")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.【 ② 】
End With
End Sub


正解
【 ① 】setrange
【 ② 】apply
解説
エクセル2007年以降データの並び替えの出題です。
挙動のおよび実行の構文は以下の通り
With.対象のシートオブジェクト. Sort
.SetRange 対象のセル範囲を指定
.Header = 見出し行を含むか含まないか指定する定数
.MatchCase = 大文字と小文字を区別するかの指定
.Orientation = 並び替えの方向の定方向の定数
.SortMethod = 並び替えをふりがなか文字コードで並び替えるかの定数
.Apply 実行する
End.With
本問題では
・Header = xlYes …タイトル行を含める
・MatchCase = False …大文字小文字は区別しないを指定
・Orientation = xlTopToBottom …は上下に並べ替え と挙動を指定しています。
[コード解説]
Sub Exam1()
With Sheets("Sheet1").Sort
.SortFields.Clear
' 現在設定されているすべての並べ替え条件をクリアします。
.SortFields.Add2 Key:=Range("B2"), Order:=xlAscending
' B列を基準に昇順(xlAscending)で並べ替えを設定します。
.SetRange Range("A1:C11")
' 並べ替えの範囲をA1:C11に設定します。
.Header = xlYes
' 1行目をタイトル行として認識するように設定します。
.MatchCase = False
' 大文字と小文字を区別せずに並べ替えを実行するよう設定します。
.Orientation = xlTopToBottom
' 並べ替えの方向を上から下に設定します。
.Apply
' 並べ替えを実行します。
End With
End Sub