次のコードは、表をA列を基準に降順かつ、列の中の数値と文字列を別々に並び替えるマクロである。空欄に入る適切な語句を解答しなさい。
Exam1()
With sheets("Sheet1"). Sort
.SortFields.Clear
.SortFields. Add2 _
Key= Range("A2"), _
SortOn:=xlSortOnValues, _
Order:=【 ① 】, _
DataOption:=【 ② 】
.SetRnage(”A2:D11”)
.Header= xlNo
.Apply
End With
EndSub
正解
【 ① 】xldescending
【 ② 】xlsortnormal
解説
・Order(昇順か降順か)に指定できる定数は、昇順は xlAscending…(規定値)、降順はxlDscendingを指定する。
・DataOption(数値と文字列の並び替え)に指定できる定数は、並び替える列の中の数値と文字列、別々に並び替えるはxlSortNormal…(規定値)、
文字列を数値とみなし並べ替えるはxlSortTextNumbersを指定します。
・SortOn(並び替えのタイプ) xlSortOnValuesはセル内のデータで並び変えるという意味です。他に
xlSortCellColor…他に背景色
xlSortfontColor…セルの文字色で並び替えるなどが指定できます。
[コード解説]
Sub Exam1()
With Sheets("Sheet1").Sort
.SortFields.Clear
' 現在設定されているすべての並べ替え条件をクリアします。
.SortFields.Add2 _
Key:=Range("A2"), _
SortOn:=xlSortOnValues, _
Order:=xlDescending, _
DataOption:=xlSortNormal
' A列を基準に降順(xlDescending)で並べ替えを設定します。
' DataOption:=xlSortNormalにより、数値と文字列を別々に並べ替えるオプションを指定しています。
.SetRange Range("A2:D11")
' 並べ替えの範囲をA2:D11に設定します。
.Header = xlNo
' タイトル行がない場合の設定です。
.Apply
' 並べ替えを実行します。
End With
End Sub