我尝试按三个不同的值对电子表格中的数据进行排序:
- F 列 - 值 - 从最旧到最新
- B 列 - 值 - 从小到大
- A 列 - 值 - Z 到 A
代码因 .Apply 部分出现错误而停止。我担心细胞选择是问题所在。
Sub DatePartOrderSort()
'
' DatePartOrderSort Macro
'
'
LR = Cells(Rows.Count, "A").End(xlUp).Row
Range(Cells(5, "A"), Cells(LR, "J")).Select
'
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Date Order").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Date Order").Sort.SortFields.Add Key:=Range( _
Cells(5, "A"), Cells(LR, "J")), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Date Order").Sort.SortFields.Add Key:=Range( _
Cells(5, "A"), Cells(LR, "J")), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Date Order").Sort.SortFields.Add Key:=Range( _
Cells(5, "A"), Cells(LR, "J")), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Date Order").Sort
.SetRange Range(Cells(5, "A"), Cells(LR, "J"))
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
最佳答案
试试这个:
Sub DatePartOrderSort()
'
' DatePartOrderSort Macro
'
'
LR = Cells(Rows.Count, "A").End(xlUp).Row
Range(Cells(5, "A"), Cells(LR, "J")).Select
'
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Date Order").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Date Order").Sort.SortFields.Add Key:=Range( _
"F5:F" & LR), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Date Order").Sort.SortFields.Add Key:=Range( _
"B5:B" & LR), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Date Order").Sort.SortFields.Add Key:=Range( _
"A5:A" & LR), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Date Order").Sort
.SetRange Range(Cells(5, "A"), Cells(LR, "J"))
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
关于excel - 按三个单独的列对数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21713834/