【VBAスタンダードに挑戦!】
本日の5分勉強の内容
********************************************************
Excel 2007 以降の並べ替え
・並べ替えに指定できるキーが3→64に増えた
・文字色、背景色、条件付き書式のアイコンで並べ替えができるようなった
・Sort オブジェクト、SortField オブジェクトが実装された
※Sort・・・分類、種類
列Bの昇順で並べ替えをマクロの記録で記録すると・・・
Sub Macro2()
'
' Macro2 Macro
① ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
② ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range("B2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
③ With ActiveWorkbook.Worksheets("Total").Sort
.SetRange Range("A2:C9")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
①前回の条件は残っているので、削除し、新たに条件を追加する
②Key・・・基準となる列(行)を、Range/Cellsオブジェクトで指定する(必須)
SortOn・・・並べ替えのタイプを指定する(省略可)
xlSortOnValues | データで並べ替える(既定値) |
xlSortOnCellColor | 背景色で並べ替える |
xlSortOnFontColor | 文字色で並べ替える |
xlSortOnIcon | 条件付き書式のアイコンで並べ替える |
Order・・・昇順か降順を指定する(省略可)
xlAscending | 昇順 (既定値) |
xlDescending | 降順 |
DataOption・・・数値と文字列の数値が混在していた時の
並べ方を指定する(省略可)
xlSortNormal | 数値と文字列を別々に並べる(既定値) |
xlSortTextAsNumbers | 文字列を数値とみなし並べる |
※③は明日。
・Activeworkbookで、グラフのシートが無く、
SortOn, Order, DataOption は既定値で良ければ、
①,②の記述は以下のように簡略化できる
With Sheets("Sheet1").Sort.SortFields
.Clear
.Add2 Key:=Range("B2")
End With
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/