Добрый день. Встала такая задача. На странице применяется автофильтр. Необходимо выбрать в массив уникальные значения 1-ого столбца, которые отображаются по фильтру (-ам) и установить из данного массива фильтр на 1-ый столбец. Т.к. навык VBA и программирования отсутствует, то пытался сделать по примерам с вашего форму и других. В итоге не получается выбрать уникальные значения и применить полученный массив к фильтру, хотя при ручном тестировании по отдельности почти всё хорошо. Если вы подскажите в какую сторону копать буду Вам очень признателен. Сам думаю в сторону Scripting Dictionary как для уникальных записей, так и для key подсовывать фильтру, но ни как не смог с это штукой разобраться((. Файл с примером и попытками, прилагаю.
Спасибо за просмотры. Для решения задачи подходит следующий код.
Код
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