- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでもsort)
VBAのsortメソッドについての疑問
このQ&Aのポイント
- VBAの実践編を勉強中の私ですが、sortメソッドでうまく進められないことがあります。
- sortメソッドの構文は理解しており、省略せずに記述しても正常に動作するはずですが、なぜかうまくいきません。
- 特に、昇順や降順の切り替えがうまくできない状況に悩んでいます。どなたか教えていただけないでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
直前に実行した設定を引き継ぐためです 質問にある表をメニューバーの[データ]→[並べ替え]で試してください まず、No.を昇順で並べ替え 次に、氏名を並べ替え 今度は、No.を降順で並べ替え ここがポイント、氏名を並べ替え 最初の氏名の並べ替えと2回目の氏名の並べ替えで分ると思うが 昇順で並べ替えた後に並べ替えを行うと昇順で 降順で並べ替えた後に並べ替えを行うと降順になることが分ると思います 氏名を並べ替えのところをマクロでorderを省略してsortすれば、より理解しやすいと思います このことから >orderは省略でき、省略した場合は昇順に並べ替えられると本には載っている 省略した場合は昇順に並べ替えられるは間違いです 省略した場合は直前の設定が引き継がれる 但し、ファイルを開いて最初の並べ替えは昇順になっています 以上、参考まで
その他の回答 (2)
- rivoisu
- ベストアンサー率36% (97/264)
回答No.2
いま、Excell2007でやってみましたが正しく動きます。 バージョンは何ですか?
質問者
お礼
rivoisuさま 私が使ってるexcelのバージョンは2003です。 どうやら、直前に実行した設定を引き継いでいたためだったようです。 2003と2007ではこの辺りの機能も変わっているんでしょうかね? でも、これですっきりしました。ありがとうございました。
- okormazd
- ベストアンサー率50% (1224/2412)
回答No.1
Range("B3:D9").Sort Key1:=Range("B4"), Header:=xlYes とか。
お礼
hige_082さま まさしく、その通りでした。 直前の設定が引き継がれてるんですね!納得です!! すっきりしました。 こんな度素人の質問に丁寧に教えてくださって本当にありがとうございました。