EXCEL VBAで複数キーで並べ替える場合のメモです。
※Excel 2013 64ビット
Dim wb As Workbook ' 新しいブックを作成 Set wb = Workbooks.Add ' シートにデータ貼り付け ~省略~ ' 並べ替え With wb.Sheets("Sheet1").Sort ' 並べ替えの条件をクリア .SortFields.Clear ' 1番目の並べ替えキー G列の4行目から27行目 .SortFields.Add Key:=Range("G4:G27"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ' 2番目の並べ替えキー A列の4行目から27行目 .SortFields.Add Key:=Range("A4:A27"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ' 並べ替えの範囲 .SetRange Range("A4:H27") ' 最初の行にヘッダー情報が含まれるかどうか xlGuess:自動 xlYes:見出し xlNo:見出し使用しない .Header = xlGuess ' 大文字小文字を区別する並べ替え false:区別しない true:区別する .MatchCase = False ' 並べ替えの方向 xlTopToBottom:行単位で並べ替え(上から下) xlLeftToRight:列単位で並べ替え(左から右) .Orientation = xlTopToBottom ' 並べ替えの方法 xlPinYin:ふりがなを使って並べ替え xlStroke:ふりがなを使わずに並べ替え .SortMethod = xlPinYin ' 並べ替え実行 .Apply End With