-2
マクロを選択した範囲の同じ2つの列で並べ替えたい。 (列BとH)選択の複数の列を並べ替えるExcelマクロ
範囲は、VBAでA1からH40に制限されている可能性がありますが、行の数が異なる場合に範囲A〜Hを示すコードが必要です。
ソートは、B1からB40、H1からH40ではなく、すべての列AからHで行う必要があります。
マクロを選択した範囲の同じ2つの列で並べ替えたい。 (列BとH)選択の複数の列を並べ替えるExcelマクロ
範囲は、VBAでA1からH40に制限されている可能性がありますが、行の数が異なる場合に範囲A〜Hを示すコードが必要です。
ソートは、B1からB40、H1からH40ではなく、すべての列AからHで行う必要があります。
あなたはたとえば、あなたはあなたがする必要
Columns("A:H").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("B:B"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("H:H"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A:H")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
以下のすべては、あなたがそれを実行したときにマクロを記録し、行番号を削除した使用することができますHに列にソートされている場合はレンジ( "B2: B20)〜範囲( "B:B")
`
ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("H:H") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("J:J") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.ActiveSheet.Sort
.SetRange Selection
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
`
これは間違った列 – Quack