我有一张表格式的数据,当我运行vba代码进行排序时,它对数据进行了排序,但是列过滤器没有显示向下箭头,因此我必须手动返回并再次单击。不知道这是否可以实现。
ActiveWindow.FreezePanes = True
Cells(2, dateReported).Sort key1:=Columns(dateReported), order1:=xlDescending
我将结果张贴在左侧,在右侧是必须手动单击过滤器以显示的地方。
答案 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