Excel VBA对多行进行排序
我想用从A列到S列的数据按升序对每一行进行排序,总共5580行。向前看,行数将增加 我已尝试记录前两行的排序操作。然后,我尝试合并代码,从第1行排序到第39行,作为一次尝试,但失败了Excel VBA对多行进行排序,vba,excel,sorting,Vba,Excel,Sorting,我想用从A列到S列的数据按升序对每一行进行排序,总共5580行。向前看,行数将增加 我已尝试记录前两行的排序操作。然后,我尝试合并代码,从第1行排序到第39行,作为一次尝试,但失败了 Sub Macro4() Macro4 Macro Rows("13:39").Select ActiveWorkbook.Worksheets("Sheet1 (2)").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1 (2)").Sort.
Sub Macro4()
Macro4 Macro
Rows("13:39").Select
ActiveWorkbook.Worksheets("Sheet1 (2)").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1 (2)").Sort.SortFields.Add Key:=Range( _
"A13:S39"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1 (2)").Sort
.SetRange Range("A13:S" & Range("A" & Rows.Count).End(xlUp).Row)
.Header = xlGuess
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
Rows("14:14").Select
ActiveWorkbook.Worksheets("Sheet1 (2)").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1 (2)").Sort.SortFields.Add Key:=Range( _
"A14:S14"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1 (2)").Sort
.SetRange Range("A14:S14")
.Header = xlGuess
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
End Sub
我想这样的事情才是最好的选择
For Each rw In Range("a1:E3").Rows
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range(rw.Address), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range(rw.Address)
.Header = xlGuess
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
Next rw
谢谢你,内森,但这不管用。。。我是否需要修改“rw.Address”之类的内容?