Excel VBA質問箱 IV

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

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


72753 / 76738 ←次へ | 前へ→

【8466】Re:並び替えの方向について
回答  ichinose  - 03/10/17(金) 21:23 -

引用なし
パスワード
   ▼黒蟻 さん:
こんばんは。

>>>Orientation  をxlSortRowsにすると列単位になり
>>>xlSortColumns にすると行単位になってしまいます。
>>>どこが変なのでしょうか。
>>あっていますよ?
>>何が変なのですか?
>
>ヘルプを見ますと、
>
>xlSortRows 既定値。行単位で並べ替えます。
>xlSortColumns 列単位で並べ替えます。
>
>となっています。
>
>実際に使ってみますと、
>
>xlSortColumns は規定値となり、行単位で上下方向にソートし
>xlSortRows 列単位で左右方向にソートされます。
>
>例えば、行をレコードとするデーターベースで
>レコードの並べ替えをする場合、
>Orientation := xlSortColumns
>でよろしいのでしょうか。

本当ですね。helpのミスなのかな?
実際にマクロの記録を使ってソートさせてみて下さい。
行方向(上から下への並び替え)は、

'==============================================
  Range("A1").Select
  Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
    :=xlPinYin
というように
xlTopToBottom定数が使われていますし、
列方向(左から右に並び替え)の場合は、

  Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, SortMethod _
    :=xlPinYin

で、xlLeftToRightが使用されいます。
こっちの方が意味ピッタシですね。

ちなみに

xlTopToBottom=xlSortColumns=1

xlLeftToRight=xlSortRows=2

となっています。

本当は、Columns(列)で列(縦)方向に並び替え、
Rows(行)で行(横)に並び替え
という意味なんでしょうね!!

0 hits

【8462】並び替えの方向について 黒蟻 03/10/17(金) 18:29 質問
【8463】Re:並び替えの方向について INA 03/10/17(金) 18:39 回答
【8464】Re:並び替えの方向について 黒蟻 03/10/17(金) 19:53 質問
【8465】Re:並び替えの方向について INA 03/10/17(金) 21:14 回答
【8466】Re:並び替えの方向について ichinose 03/10/17(金) 21:23 回答
【8467】Re:並び替えの方向について 黒蟻 03/10/17(金) 23:19 お礼
【8468】Re:並び替えの方向について INA 03/10/17(金) 23:29 回答
【8484】Re:並び替えの方向について りん 03/10/19(日) 16:31 発言

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