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

Excel VBA スタンダード 模擬問題 ① 第25問 7章-4

次のコードは、表のセル範囲を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