VBA排序但未点击

时间:2018-06-25 14:59:37

标签: vba excel-vba excel

我有一张表格式的数据,当我运行vba代码进行排序时,它对数据进行了排序,但是列过滤器没有显示向下箭头,因此我必须手动返回并再次单击。不知道这是否可以实现。

ActiveWindow.FreezePanes = True
Cells(2, dateReported).Sort key1:=Columns(dateReported), order1:=xlDescending

我将结果张贴在左侧,在右侧是必须手动单击过滤器以显示的地方。

enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

由于您的数据在表中,因此我将使用ListObject.Sort来执行此操作。像这样:

Sub DummySort()
    Dim myTable As ListObject
    Dim dateReported As ListColumn

    Set myTable = Sheets("Sheet1").ListObjects("Table1")
    Set dateReported = myTable.ListColumns("Date Reported")

    With myTable.Sort
        .SortFields.Clear
        .SortFields.Add Key:=dateReported.Range, SortOn:=xlSortOnValues, _
            Order:=xlDescending
        .Header = xlYes
        .Orientation = xlSortColumns
        .SortMethod = xlPinYin
        .Apply
    End With

End Sub