以下のコードは表をC列を基準に昇順並べ替えるマクロである。空欄に入る適切な語句を解答しなさい。
Sub Exam1()
With Sheets("Sheet1"). Sort
.SortFields. Clear
.SortFields.【 ① 】【 ② 】:= Range("C2"),【 ③ 】:=xlAscending
.SetRange Range("A1:D11")
.Header = xlYes
.Apply
End With
End Sub
正解
【 ① 】add2
【 ② 】key
【 ③ 】order
解説
データの並び替えは、エクセル2007年以降①並べ替え条件と、⓶挙動と実行部分の2つに分けられます。
並べ替え構文は以下の通りです。
構文:対象のシート.Sort.SortFields.Add2 Key:= 並替えの基準となるセル,並び替え条件
並び替え条件のOrderのあとには昇順、降順等の表す定数を指定します。
本問題では:=xlAscending(昇順)と記述があるのでOrderが入ります。
その他並び替え条件には必要に応じてSortOn:=並べ替えのタイプ、DataOption:=列の中に数値と文字列形式の数数が混在していたらどのように並べ替えるかを記述します。
[コード解説]
Sub Exam1()
With Sheets("Sheet1").Sort
' Sheets("Sheet1")のSortオブジェクトを使用して並べ替えを設定します。
.SortFields.Clear
' 現在設定されているすべての並べ替え条件をクリアします。
.SortFields.Add2 Key:=Range("C2"), Order:=xlAscending
' C列を基準に昇順(xlAscending)で並べ替えを設定します。
' Key:=Range("C2") により、C列を指定しています。
.SetRange Range("A1:D11")
' 並べ替えの範囲をA1:D11に設定します。
.Header = xlYes
' 1行目をタイトル行として認識するように設定します。
.Apply
' 並べ替えを実行します。
End With
End Sub