次のコードは、ユーザーが指定した語句の順番に基づいてデータを並べ替えるマクロである。
以下の空欄に入る適切な語句を解答しなさい。
Sub Exam1()
With Sheets("Sheet1"). Sort
.SortFields. Clear
.SortFields.Add Key:=Range("B2"), 【 ① 】:="Golf,Basketball,Tennis"
.SetRange Range("A1").CurrentRegion
.Header = xlYes
.Apply
End With
End Sub
正解
【 ① 】customorder
解説
【7章 データの並べ替え】
エクセル2007年以降の並べ替えの問題です。
【並び替え・キー設定】
●並び替えのキーをユーザー設定のカスタムの順番で設定する。
構文
CustomOrder:= "値1,値2,値3…"
CustomOrder:=以降「””」内に「,」カンマで区切りユーザー設定の順番で設定できます。
例
CustomOrder:="A,B,C"
上記のように指定すると、指定した範囲内の値が A → B → C の順番に並び替えを設定できます。
【コード解説】
Sub Exam1()
With Sheets("Sheet1").Sort
.SortFields.Clear
'以前に設定された並び替え条件をクリアします。
.SortFields.Add Key:=Range("B2"), CustomOrder:="Golf,Basketball,Tennis"
' B列(2列目)の値を「Golf」「Basketball」「Tennis」の順に並び替えます。
.SetRange Range("A1").CurrentRegion
'セル A1 を含むひとかたまりをデータ範囲に指定します。
.Header = xlYes
'見出し行があることを指定します。
.Apply
' 設定した条件で並び替えを実行します。
End With
End Sub