|
▼ここ さん:
>マクロの記録から並べ替えを行いましたが、
>セル指定の記述となるため次回以降行数が増加していた場合は、
>記述範囲内での並べ替えしかできず困っています。
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行目は空白行であることが必要です。
|
|