エクセル・並び替えのマクロ
エクセルで並び替えのマクロを作ったのですが
___A ______B ______C ______D ______E ______F _____________G
1 (株)カネカ【東証1部 : 4118.T】
2 日付 __始値 _高値 _安値 _終値 _出来高 ___調整後
3 07/07 1,030 1,069 ___941 __974 30,772,000 ___974
4 07/06 1,057 1,093 1,016 1,033 26,904,000 1,033
5 07/05 1,080 1,086 1,023 1,051 26,541,000 1,051
6 07/04 1,113 1,209 1,087 1,098 36,317,000 1,098
7 07/03 1,096 1,128 1,020 1,124 23,988,000 1,124
8 07/02 1,098 1,147 1,020 1,105 28,609,000 1,105
9 07/01 1,100 1,158 1,078 1,082 17,808,000 1,082
このような表で
マクロ記録開始
セルA3をクリック
データ→並び替え
優先されるキー:日付・昇順
データ範囲の先頭行:タイトル行
マクロ記録終了
で、できたマクロが
Sub Macro1()
Range("A3").Select
Range("A1:G9").Sort Key1:=Range("A3"), Order1:=xlAscending,Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin, DataOption1:=xlSortNormal
End Sub
これを実行すると
1行目、2行目の(株)カネカ、日付、始値…、が8行目、9行目になってしまいます
そこで、マクロの
Range("A1:G9")を
Range("A3:G9")に書き換えて
Sub Macro2()
Range("A3").Select
Range("A3:G9").Sort Key1:=Range("A3"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin, DataOption1:=xlSortNormal
End Sub
これを実行すると
日付が、07/07、07/01、07/02、07/03、07/04、07/05、07/06
の順番になってしまいます
どうしたらよいのでしょう?
お礼
お礼が遅くなり申し訳ありませんでした。 最終行が不定の場合もできるとは思っていなかったので、 データが入るであろう最大の行に対して処理をしようと思っていました。教えていただいて大変助かりました。 本当にありがとうございました。