您好,我需要一些帮助,使用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列进行排序,而不是对其余的列进行排序。

谢谢您的帮助

最佳答案

尝试这样,包括整个范围到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

关于excel - 按VBA中的特定列排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47161344/

10-11 09:20