Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vba中按特定列排序_Vba_Excel_Sorting - Fatal编程技术网

在vba中按特定列排序

在vba中按特定列排序,vba,excel,sorting,Vba,Excel,Sorting,您好,我需要一些帮助来排序一些数据在EXCEL中使用VBA。我有这个密码 Dim keyRange As Range Set strDataRange = Range("A1:AB300") Set keyRange = Range("W1") strDataRange.Sort Key1:=keyRange, Header:=xlYes 其思想是根据W列中的数据对范围A1:AB300中的所有数据进行排序。问题是代码只是对W列进行排序,而不是对其余列进行排序 感谢您的帮助尝试这样做,将整个范围

您好,我需要一些帮助来排序一些数据在EXCEL中使用VBA。我有这个密码

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
请尝试以下代码:

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
另外,网上有很多排序的例子