Здравствуйте . Хочу написать макрос, который снимает фильтрацию автофильтра по столбцу где выбрана ячейка. Для этого мне надо определить номер поля автофильтра в котором находится активная ячейка. Смог сделать код который работает только в книге где один лист, если два листа не работает
Подскажите как определить номер поля автофильтра в столбце которого находится выбранная ячейка, в книге где несколько листов.
Или определить номер столбца в котором расположено первое поле автофильтра (самое левое поле).
Код |
---|
Sub Отобразить() If Worksheets(1).AutoFilterMode = True Then Set iFilterRange = Worksheets(1).AutoFilter.Range ' диапазон к которому применён автофильтр End If iPosition = InStr(iFilterRange.Address, ":" - 1 IRange = Left(iFilterRange.Address, iPosition) 'первая ячейка диапазона к которому применён автофильтр iColumn = Range(IRange).Column 'столбец в котором расположено первое поле автофильтра Selection.AutoFilter Field:=ActiveCell.Column - iColumn + 1 'снимаю фильтрацию End Sub |
Или определить номер столбца в котором расположено первое поле автофильтра (самое левое поле).
Excel всемогущий.