vba - vba中按特定列排序

标签 vba excel sorting

您好,我需要一些帮助来使用 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

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

相关文章:

python - 如何将数据框转换为工作表(Python 3.8)?

php - 如何在数组的开头和结尾添加缺失的日期?

java - 这种排序算法的时间复杂度是多少?

excel - 根据逗号分隔列表插入行

VBA集合: list of keys

vba - 跳过复选框 Click() 函数 [VBA]

Excel VBA – 如何创建和转储数组复杂结构的哈希值?

php - 如何使用 limit 子句对记录进行排序

excel - 如何在使用 iframe 的网页上使用 selenium 和 vba 查找表格?

excel - 是否能够在保留相邻列的值的同时拆分单元格?