Страницы: 1
RSS
Отфильтрованные массивы и переделка автофильтра
 
Добрый день. Встала такая задача.
На странице применяется автофильтр.
Необходимо выбрать в массив уникальные значения 1-ого столбца, которые отображаются по фильтру (-ам) и установить из данного массива фильтр на 1-ый столбец.
Т.к. навык VBA и программирования отсутствует, то пытался сделать по примерам с вашего форму и других. В итоге не получается выбрать уникальные значения и применить полученный массив к фильтру, хотя при ручном тестировании по отдельности почти всё хорошо.
Если вы подскажите в какую сторону копать буду Вам очень признателен. Сам думаю в сторону Scripting Dictionary как для уникальных записей, так и для key подсовывать фильтру, но ни как не смог с это штукой разобраться((.
Файл с примером и попытками, прилагаю.  
Изменено: T1gRa - 13.08.2015 23:15:28
 
T1gRa, поменяйте в своём профиле отображаемое имя - сейчас оно с нарушением Правил.
 
Спасибо за просмотры. Для решения задачи подходит следующий код.
Код
Sub Макрос3()
Dim c As Range, di As Object
With ActiveSheet.AutoFilter
  If .Filters(1).On Then
    If MsgBox("В 1-м столбце включен фильтр. Изменить его?", vbYesNo) = vbNo Then Exit Sub
    .Range.AutoFilter Field:=1
  End If
  Set di = CreateObject("scripting.dictionary")
  For Each c In .Range.Columns(1).Cells(2).Resize(.Range.Rows.Count - 1)
    If Not c.EntireRow.Hidden Then di(CStr(c.Value)) = Empty
  Next
  .Range.AutoFilter Field:=1, Criteria1:=di.keys, Operator:=xlFilterValues
End With
End Sub
 
Цитата
T1gra написал: Спасибо за просмотры.
А Вы выполните требование уважаемого Модератора, тогда и помощь будут оказывать. Пожалуйста.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
Страницы: 1
Наверх