使用VB.net使用“自动过滤器”在Excel中对数据进行排序?

时间:2011-07-07 00:11:18

标签: vb.net excel-vba excel-2007 vba excel

我的工作表中有AutoFilter。我想使用AutoFilter本身对数据进行排序,而不是按正常排序。

我希望客户端看到自动过滤器按钮上的向下箭头,它表示行已按此键排序。

知道怎么做吗?

我将'sheet'作为对象:

  sheet.Range("A2").AutoFilter then ??
  Or something else ??

请帮忙!

(确保VB.Net的语法,而不是VB脚本)

我是新手......

1 个答案:

答案 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