VBAでもsort
今、FOM出版のVBAの実践編を勉強中です。宜しくお願いします。
その中の「sort」メソッドでどうしても納得できず、前に進めない事があります。
構文:rangeオブジェクト.sort(kye1,order1,key2,order2,key3,order3,header)
これは理解できるし、どこも省略せずに記入すればその通りに動くのですが
orderは省略でき、省略した場合は昇順に並べ替えられると本には載っているのですが
私の記述はうまくいきません。
なぜ、こうなるのか教えてください。
B3 C3 D3
No. 氏名 住所
という表があり、氏名を昇順に並べようとしています。
構文通りに
Range("B3").Sort key1:=Range("C3"), order1:=xlAscending, header:=xlyes
とすれば問題なく
Range("B3").Sort key1:=Range("C3"), header:=xlyes
と記述すると、最初はうまくいきますが
もう一度試そうと氏名欄を降順に並べ替え、それから実行すると動きません。
また、No.欄を昇順に並べ替えて実行するとちゃんと動き
No.を降順に並べ替えて、氏名欄を昇順で並べ替えを実行すると氏名欄も降順で
並べ替えられてしまいます。
なぜ、こんな安定しない動きをするのかがわかりません。
初歩的な質問で申し訳ないのですが、どうしても気になって先に進めないので
どうぞ教えてください。
ちなみに、もう一度試そうとNo.欄を並べ替える時は、エクセルの昇順降順アイコンで
並べ替えています。これが問題なのでしょうか?