Excel VBA質問箱 IV

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

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


11687 / 76734 ←次へ | 前へ→

【70579】Re:並べ替えについて
発言  kanabun  - 11/12/4(日) 1:42 -

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

>マクロの記録から並べ替えを行いましたが、
>セル指定の記述となるため次回以降行数が増加していた場合は、
>記述範囲内での並べ替えしかできず困っています。

Excel2010 ですか?

変数を使うといいですよ。
(ためしてないので動く保証はないですが、こんな感じで)

Sub test()
 Dim r As Range
 
 With ActiveWorkbook.Worksheets(1)
   Set r = .Range("A4").CurrentRegion
   With .Sort.SortFields
     .Clear
     .Add Key:=r.Columns("B"), SortOn:=xlSortOnValues, _
       Order:=xlAscending, DataOption:=xlSortNormal
     .Add Key:=r.Columns("F"), SortOn:=xlSortOnValues, _
       Order:=xlAscending, DataOption:=xlSortNormal
     .Add Key:=r.Columns("C"), SortOn:=xlSortOnValues, _
       Order:=xlAscending, DataOption:=xlSortNormal
   End With
   With .Sort
     .SetRange r
     .Header = xlYes
     .MatchCase = False
     .Orientation = xlTopToBottom
     .SortMethod = xlPinYin
     .Apply
   End With
 End With
End Sub

> .Range("A4").CurrentRegion

これが列見出しを含めたソート範囲となります。
3行目は空白行であることが必要です。
4 hits

【70578】並べ替えについて ここ 11/12/4(日) 0:14 質問
【70579】Re:並べ替えについて kanabun 11/12/4(日) 1:42 発言
【70581】Re:並べ替えについて ここ 11/12/4(日) 12:40 お礼

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