Excel VBA質問箱 IV

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

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


12069 / 13645 ツリー ←次へ | 前へ→

【12579】sortを使って日本語を並び替えることは? ふぉれお 04/4/8(木) 1:44 質問
【12581】Re:sortを使って日本語を並び替えること... パピー(PAPIー) 04/4/8(木) 8:23 回答

【12579】sortを使って日本語を並び替えることは?
質問  ふぉれお  - 04/4/8(木) 1:44 -

引用なし
パスワード
   こんにちは。
どうしても分からなくて、質問させていただきます。

  A    B    C    D
 りんご  300   3/11   東京
 りんご  100   2/11   東京
 りんご  300   3/11   大阪
 りんご  200   2/11   大阪

というデータがあって、列Cと列Dをキー項目として

  A    B    C    D
1 りんご  100   2/11   東京
2 りんご  200   2/11   大阪
3 りんご  300   3/11   東京
4 りんご  300   3/11   大阪

のように、まず日付を見て、その後東京→大阪の順番に並び替えたいのですが上手くいきません。

  Range("A1:D4").sort. _
  key1:=Range("c1"), order1:=xlAscending, _
  key2:=Range("d1:d4"), order2:=xlAscending, _
  header:=xlGuess

というような感じでやってみたのですが、下記のように日付のC列をキーとしたソートしか出来ませんでした。

  A    B    C    D
 りんご  100   2/11   東京
 りんご  300   3/11   東京
 りんご  200   2/11   大阪
 りんご  300   3/11   大阪

何故か東京と大阪で分けられた上でソートが行われてしまいます。

やり方がわかる方是非教えてください!
お願いいたします。

【12581】Re:sortを使って日本語を並び替えること...
回答  パピー(PAPIー)  - 04/4/8(木) 8:23 -

引用なし
パスワード
   ▼ふぉれお さん:こんにちは。
>
>  Range("A1:D4").sort. _
>  key1:=Range("c1"), order1:=xlAscending, _
>  key2:=Range("d1:d4"), order2:=xlAscending, _
>  header:=xlGuess
>
Sub test()

  Range("A1:D4").Sort _
  key1:=Range("C1"), order1:=xlAscending, _
  key2:=Range("D1"), order2:=xlAscending, _
  header:=xlGuess

End Sub

このコードでご希望の結果が得られましたが?
Key2のRangeを変更しただけですが。

外していたらごめんなさい。

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