| 
    
     |  | ▼黒蟻 さん: こんばんは。
 
 >>>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(行)で行(横)に並び替え
 という意味なんでしょうね!!
 
 |  |