- ベストアンサー
列の同文字を続けて下行へ移動
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
No1です。とりあえず参考までに(最低限の指定) 2007より前のバージョンで実行する可能性がある場合は以下のコードで(2016は不明) With Sheets("Sheet1") '↓もしくは.Range("A3:C11").Sort .Range("A3").Sort _ Key1:=.Range("A3"), Order1:=xlAscending, _ Key2:=.Range("B3"), Order2:=xlAscending, _ Key3:=.Range("C3"), Order3:=xlAscending, _ Header:=xlNo End With 2007以降だとこちらでも(2016は不明) With Sheets("Sheet1").Sort.SortFields .Clear .Add Key:=Range("A3"), Order:=xlAscending .Add Key:=Range("B3"), Order:=xlAscending .Add Key:=Range("C3"), Order:=xlAscending End With With Sheets("Sheet1").Sort .SetRange Range("A3:C11") .Header = xlNo .Apply End With なお、最終行が不特定な場合は(A列の最終行を求める場合) Dim MyLastRow As Long MyLastRow = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row 上記を最初に追加して .SetRange Range("A3:C11") を .SetRange Range(Cells(3, "A"), Cells(MyLastRow, "C")) に変更してください。
その他の回答 (1)
- kkkkkm
- ベストアンサー率66% (1719/2589)
マクロの記録で並び替えを実行したものを記録するとコードができますよ。キーはA列B列C列の順にすると表ー2の状態になります。 定型的な処理はマクロの記録でコードができますので、そちらの方が実際のブックの状態でのコードになるので手直しも少なくて済むと思います。