Сортировать данные в Excel, используя «Автофильтр», используя VB.net? - PullRequest
2 голосов
/ 07 июля 2011

У меня есть Автофильтр на моем листе. Я хочу отсортировать данные, используя сам автофильтр, а не обычную сортировку.

Я хочу, чтобы клиент увидел стрелку вниз на кнопке автофильтра, которая сообщает, что строки отсортированы по этой клавише.

Есть идеи, как это сделать?

У меня есть «лист» в качестве объекта:

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

Пожалуйста, помогите!

(Убедитесь, что синтаксис для VB.Net, а не VB Script)

Я новичок ..

1 Ответ

4 голосов
/ 08 июля 2011

Чтобы отфильтровать диапазон 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...