Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


16341 / 76732 ←次へ | 前へ→

【65859】Re:ソートの並べ替え基準の指定方法
質問  けい  - 10/7/1(木) 15:19 -

引用なし
パスワード
   ▼りん さん:

先日はソートに関するご回答をありがとうございました。
上手くいって喜んでいましたが、一つ問題が起こりました。

範囲を指定してからソートをしていますが、VBAに限らず、
1行しかないデータはソートをかけると下段が空白であった場合次の文字が
出てくるところまでを再下段としてみてしまうようです。
これによって、同じかたまりではないデータまでもソートをしてしまい
おかしなことになってしまいました。
1行しかない場合はソートをしないという方法はないでしょうか。
範囲は何行になるか決まっていません。
複数シートがあり、1行のところもあれば、4行のところもあれば
まったくない場合もあります。
2行以上の時だけ、範囲を指定してソートにできたらよいのですが。

  Range(Cells(k, "A"), Cells(k, "E").End(xlDown)).Sort _
   Key1:=Range("A" & k), Order1:=xlAscending, _
   Key2:=Range("E" & k), Order2:=xlAscending, Header:=xlNo

何を直すか、又は加えるものがあればよいか教えてください。
よろしくお願いいたします。


>kei さん、こんばんわ。
>
>>Rangeを外したら、うまくソートができました。
>Range コレクションのヘルプを見ていただけばわかりますが、
>
>1 つのセルまたはセル範囲を表す Range オブジェクトを取得するには、Range(arg) プロパティを使用します。引数 arg には、範囲の名前を指定します。
>
>ということなので、
>
>  Range(Cells(k, "A"), Cells(k, "E").End(xlDown)).Sort _
>   Key1:=Range("A" & k), Order1:=xlAscending, _
>   Key2:=Range("E" & k), Order2:=xlAscending, Header:=xlNo
>
>こうなります。
0 hits

【65757】ソートの並べ替え基準の指定方法 kei 10/6/25(金) 11:11 質問
【65777】Re:ソートの並べ替え基準の指定方法 りん 10/6/27(日) 9:50 回答
【65788】Re:ソートの並べ替え基準の指定方法 kei 10/6/28(月) 9:51 お礼
【65804】Re:ソートの並べ替え基準の指定方法 りん 10/6/28(月) 20:28 発言
【65859】Re:ソートの並べ替え基準の指定方法 けい 10/7/1(木) 15:19 質問
【65860】Re:ソートの並べ替え基準の指定方法 Jaka 10/7/1(木) 16:23 発言
【65869】Re:ソートの並べ替え基準の指定方法 けい 10/7/2(金) 20:06 質問
【65879】Re:ソートの並べ替え基準の指定方法 Jaka 10/7/5(月) 11:36 発言
【65883】Re:ソートの並べ替え基準の指定方法 けい 10/7/5(月) 14:21 質問
【65884】Re:ソートの並べ替え基準の指定方法 Jaka 10/7/5(月) 15:16 発言
【65886】Re:ソートの並べ替え基準の指定方法 けい 10/7/5(月) 16:28 お礼

16341 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free