多数のリストを A から Z まで並べ替えようとしていますが、列 A を並べ替えると、他のすべての列が再配置されることは望ましくありません。これらすべてのリストを個別にアルファベット順にソートする必要があります。1つずつ実行できることはわかっていますが、278列あります。それを自動化する方法はありますか?
質問する
20584 次
2 に答える
4
どの列のデータにも空白のセルがない場合、次の方法はわずかに異なるアプローチであり、行数の最大値を想定していません。
Sub SortIndividualJR()
Dim rngFirstRow As Range
Dim rng As Range
Dim ws As Worksheet
Application.ScreenUpdating = False
Set ws = ActiveSheet
Set rngFirstRow = ws.Range("A1:JR1")
For Each rng In rngFirstRow
With ws.Sort
.SortFields.Clear
.SortFields.Add Key:=rng, Order:=xlAscending
'assuming there are no blank cells..
.SetRange ws.Range(rng, rng.End(xlDown))
.Header = xlYes
.MatchCase = False
.Apply
End With
Next rng
Application.ScreenUpdating = True
End Sub
user1281385 のコードに問題はありません。私が言うように、これは単なる代替手段です。
追加いくつかの空白がある場合は、上記のコードを使用するよう.SetRange ws.Range(rng, rng.Range("A1000").End(xlUp))
に変更し、1000 を期待する値に変更すると、データ行の最大数よりも大きくなります。
于 2013-06-21T18:52:22.127 に答える
2
並べ替えたい列を選択し、[並べ替えとフィルター] を押すと、ボックスが表示されます。
Expand selection
continue with current selection
現在の選択で続行を選択
次に、並べ替え方法を選択します。並べ替えたい列ごとに繰り返します。
選択範囲の拡張がデフォルトのオプションです
大きい
範囲としての1つの範囲を薄暗くする aCell を範囲として暗くする I=1~278の場合 set oneRange = Range("r1c" & I & ":r1000c" & I) Set aCell = Range("r1c" & I) oneRange.Sort Key1:=aCell、Order1:=xlAscending、Header:=xlYes 次は
動作するはずです
于 2013-06-21T17:49:49.707 に答える