[[20150719205335]] 『列ソート』(はる) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『列ソート』(はる)

お世話になります。
A7から始まる表で列のソートを行いたくコードの記録を元に変えてみたのですが
記述した段階で赤く反転してコンパイルエラーとなってしまいます。
どの様にしたら良いか教えてください。

Sub 列ソート()

赤く反転 Range("A7").End(xlDwon).row:Range("A7").End(xlToRight).Column).Select

        ActiveWorkbook.Worksheets("test").Sort.SortFields.Clear
赤く反転    ActiveWorkbook.Worksheets("test").Sort.SortFields.Add key:=Range("A7").End(xlDwon).row:("A7").End(xlToRight).Column), _
赤く反転    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
           With ActiveWorkbook.Worksheets("test").Sort
             .SetRange Range("A7").End(xlToRight).Column
             .Header = xlGuess
             .MatchCase = False
             .Orientation = xlLeftToRight
             .SortMethod = xlPinYin
             .Apply
          End With
End Sub

< 使用 Excel:Excel2007、使用 OS:Windows7 >


 いったん、構文エラーのみのポイントでアップしましたが、どうせなら、並び替え領域そのものも含めて
 手を入れたほうがいいと思ったので、削除します。

 並び替え領域はどこからどこまで、ですか?

(β) 2015/07/19(日) 21:39


 たぶん、こういうことだろうと思います。
 最初の赤く光った部分、並び替え引数として使うために 変数 r にいれていますが、その右辺と、そちらのコードを
 比較してみてください。

 それと、マクロ記録すると、おうおうにして Header:=xlGuess と生成されますが、ここは xlYes か xlNo かを明示したほうがいいですよ。

 Sub 列ソート2()
    Dim r As Range

    With Sheets("test")
        Set r = .Range("A7", .Cells(.Range("A7").End(xlDown).Row, .Range("A7").End(xlToRight).Column))
        .Sort.SortFields.Clear
        .Sort.SortFields.Add Key:=r.Rows(1), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With .Sort
            .SetRange r
            .Header = xlNo  '★
            .MatchCase = False
            .Orientation = xlLeftToRight
            .SortMethod = xlPinYin
            .Apply
        End With
    End With

 End Sub

(β) 2015/07/19(日) 22:09


↑ もし6行目が空白行なら

 Set r = .Range("A7", .Cells(.Range("A7").End(xlDown).Row, .Range("A7").End(xlToRight).Column))

 これは

 Set r = .Range("A7").CurrentRegion

 でOKです。

(β) 2015/07/19(日) 22:14


β様
回答とコードまで書いて頂きありがとうございます。
見よう見まねで出来るかなと思ったのですが流石に奥が深くて
少しは理解できるのですが、プログラミングの経験がない為
発想が出来ないのです。
ひな型を作れる人が近くにいればよいのですが・・・

今回は本当にありがとうございました。
(はる) 2015/07/19(日) 22:32


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.