Excel VBA スタンダード 模擬問題 模擬試験

Excel VBA スタンダード 模擬試験 ランダム順出題 ② 第1問 公開問題

次のコードは、ユーザーが指定した語句の順番に基づいてデータを並べ替えるマクロである。

以下の空欄に入る適切な語句を解答しなさい。

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

excel-vba-standard-test-sort
正解

【  ①  】customorder

解説

【7章 データの並べ替え】

エクセル2007年以降の並べ替えの問題です。

【並び替え・キー設定】

並び替えのキーをユーザー設定のカスタムの順番で設定する。

構文

CustomOrder:= "値1,値2,値3…"

CustomOrder:=以降「””」内に「,」カンマで区切りユーザー設定の順番で設定できます。

CustomOrder:="A,B,C"

上記のように指定すると、指定した範囲内の値が A → B → C の順番に並び替えを設定できます。

excel-vba-standard-test-sort

 

【コード解説】

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