いつも忘れてしまうので。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
Sub test() Set w = Sheets("Sheet1") With w.Sort ' 条件設定 ' SortFields.Add2はExcel2013までエラーになる .SortFields.Clear .SortFields.Add _ Key:=Range("A1"), _ SortOn:=xlSortOnValues, _ Order:=xlAscending ' ●Key (並び替え基準セル/必須) ' ●SortOn (並び替えタイプ) ' xlSortOnValues : データ/既定 ' xlSortOnCellColor : 背景色 ' xlSortOnFontColor : 文字色 ' xlSortOnIcon : アイコン ' ●Order (並び替え順序) ' xlAscending : 昇順/既定 ' xlDescending : 降順 ' ●CustomOrder (ユーザー設定の基準) ' 文字列で基準を指定する ' ●DataOption (数値と文字列の基準) ' xlSortNormal : 数値と文字列を別々/既定 ' xlSortTextAsNumbers : 文字列を数値と見なす ' 実行 .SetRange w.Cells(1, 1).CurrentRegion .Header = xlYes .MatchCase = True .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply ' ●Header (1行目がタイトル行か) ' xlGuess : 自動判定 ' xlYes : 1行目はタイトル ' xlNo : 1行目はタイトルではない/既定 ' ●MatchCase (大文字と小文字を区別するか) ' True : 区別する ' False : 区別しない/既定 ' ●Orientation (並べ替えの方向) ' xlTopToBottom : 上下/既定 ' xlLeftToRight : 左右 ' ●SortMethod (ふりがなを使うかどうか) ' xlPinYin : ふりがなで並び替え/既定 ' xlStroke : 文字コードで並び替え End With End Sub |
ダイアログを表示させ、実行は手動にする場合。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Sub test() Set w = Sheets("Sheet1") w.Range("A1:B7").Select ' 先に選択しておかないとSetRangeが適用されない With w.Sort .SortFields.Clear .SortFields.Add Key:=w.Range("B1") ' 選択範囲外だと空白になる .SetRange Selection .Header = xlYes End With On Error Resume Next ' キャンセル用 Application.Dialogs(xlDialogSort).Show End Sub |