我的工作表中有AutoFilter。我想使用AutoFilter本身对数据进行排序,而不是按正常排序。
我希望客户端看到自动过滤器按钮上的向下箭头,它表示行已按此键排序。
知道怎么做吗?
我将'sheet'作为对象:
sheet.Range("A2").AutoFilter then ??
Or something else ??
请帮忙!
(确保VB.Net的语法,而不是VB脚本)
我是新手......
答案 0 :(得分:4)
要过滤范围A1:A7,请尝试:
Sheet.Range("$A$1:$A$7").AutoFilter(Field:=1, Criteria1:="MyFilter", Operator:=XlAutoFilterOperator.xlFilterValues)
确保您正在导入:
Imports Microsoft.Office.Interop.Excel
编辑:
sheet.AutoFilter.Sort.SortFields.Clear()
sheet.AutoFilter.Sort.SortFields.Add(Key:=sheet.Range("A1:A7"), SortOn:=XlSortOn.xlSortOnValues, Order:=XlSortOrder.xlAscending, DataOption:=xlSortDataOption.xlSortNormal)
With sheet.AutoFilter.Sort
.Header = XlYesNoGuess.xlYes
.MatchCase = False
.Orientation = Constants.xlTopToBottom
.SortMethod = XlSortMethod.xlPinYin
.Apply()
End With