您好我需要一些帮助来使用VBA对EXCEL中的某些数据进行排序。我有这个代码
Dim keyRange As Range
Set strDataRange = Range("A1:AB300")
Set keyRange = Range("W1")
strDataRange.Sort Key1:=keyRange, Header:=xlYes
这个想法是通过列W中的数据对A1:AB300
范围内的所有数据进行排序。问题是代码只是对列W进行排序,而不是对其余列进行排序。
感谢您的帮助
答案 0 :(得分:1)
尝试这样做,包括keyRange
的整个范围,并参考工作表:
Sub TestMe()
Dim keyRange As Range
Dim strDataRange As Range
With ActiveSheet
Set strDataRange = .Range("A1:AB300")
Set keyRange = .Range("W1:W300")
strDataRange.Sort Key1:=keyRange, Header:=xlYes
End With
End Sub
答案 1 :(得分:0)
试试这段代码:
Sub sort()
Dim LastRow As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Range("A1:Z" & LastRow).Sort Key1:=Range("W1:W" & LastRow), _
Order1:=xlAscending, Header:=xlYes
End Sub
PS。网上有大量的排序示例。