スタンダード 模擬問題

Excel VBA スタンダード 模擬問題 第7章 第1問 公開問題

次のコードは、D列を基準に降順でデータを並べ替えるマクロである。

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

Sub Exam1()

 With Sheets("Sheet2").【  ①   】

    .【  ②   】.Clear

    .【  ②   】.Add2 Key:=Range("D2"), _

  SortOn:=xlSortOnValues, _

  Order:=xlDescending, _

  DataOption:=xlSortNormal

    .SetRange Range("A1:D9")

    .Header = xlYes

    .Apply

 End With

End Sub

excel-vba-standard-test-sort
正解

【  ①   】sort 【  ②   】sortfields

解説

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

【並べ替え、および各条件の構文】

対象シートのオブジェクト.Sort

.SortFields.Clear 

・前回までの並び替え条件が残っている場合リセットしたいときの記述です。

.SortFields.Add2(Add) Key:= 「.Add2(Add)」で複数の引数を指定します。

  (並び替えの基準となる列内のセルを指定),各並び替え条件を設定する。

並び替えるには最初にシートのあとにSortオブジェクトを記述します。

次に並び替え条件を設定するSortFieldsオブジェクトを記述しますが、必要に応じてClearメソッドで前回の並べ替え条件を一度リセットします。

Add2 Key = の後に並び替えるキーとなるセルの指定し、

条件や挙動と実行を指定します。

【並び替えに設定できる条件】

・SetRange Range 対象のセル範囲

SortOn:=並べ替えのタイプの定数*省略可能です。

・Order:=並べ替えを降順、昇順の定数を指定*省略可能です。

・CustomOrder:= 以降に””内に「,」カンマで区切りユーザー設定の並べ替えを設定します。

例) CustomOrder:= "い,う,あ"

DataOption:=列の中に数値と文字列形式の数数が混在していたらどのように並べ替えるか、定数を指定する。*省略可能です。

excel-vba-standard-test-sort1

【コード解説】

Sub Exam1()

 With Sheets("Sheet2").Sort

’ 対象のシートのSortオブジェクトを指定する。

  .SortFields.Clear

’ 前回までの並び替え条件が残っている場合リセットする。

   .SortFields.Add2 Key:=Range("D2"), _

’D列を基準にする。

   SortOn:=xlSortOnValues, _

条件設定並べ替えのタイプの指定する。

   Order:=xlDescending, _

条件設定並べ替えを降順、昇順の定数を指定する。

   DataOption:=xlSortNormal

条件設定数値と文字列形式の数数が混在していたらどのように並べ替えるか指定する。

  .SetRange Range("A1:D9")

’ 並べ替え範囲を指定する。

  .Header = xlYes

’ 1行目を見出し行として扱う。

 .Apply

’ 並べ替えを実行する。

 End With

End Sub