Джиму нужен способ быстро определить, какие критерии фильтрации были применены в автофильтре. Ему трудно сказать, к каким столбцам применена фильтрация (небольшое изменение цвета стрелки раскрывающегося списка с черного на синий почти не заметно), поэтому было бы неплохо использовать другой метод определения места применения фильтра.

Отсутствие контраста между черными и синими стрелками раскрывающегося списка в столбце с фильтрами — не редкость. Фактически, именно эта проблема была рассмотрена в другом выпуске ExcelTips. (Вы можете поискать на веб-сайте ExcelTips фразу «цвета стрелок раскрывающегося списка», чтобы получить полезный совет в этом отношении.)

Если вы действительно хотите знать, какие критерии применяются к столбцу, вас заинтересует небольшой макрос, который поместит критерии в другую ячейку:

Function DispCriteria(Rng As Range) As String     Dim Filter As String

Filter = ""

On Error GoTo Done     With Rng.Parent.AutoFilter         If Intersect(Rng, .Range) Is Nothing Then GoTo Done         With .Filters(Rng.Column - .Range.Column + 1)

If Not .On Then GoTo Done             Filter = .Criteria1             Select Case .Operator                 Case xlAnd                     Filter = Filter & " AND " & .Criteria2                 Case xlOr                     Filter = Filter & " OR " & .Criteria2             End Select         End With     End With Done:

DispCriteria = Filter End Function

На самом деле это пользовательская функция, которую вы можете использовать на своем листе. Например, если вы хотите узнать критерии фильтрации, примененные к столбцу C, вы можете использовать в ячейке следующее:

=DispCriteria(C:C)

Если хотите, вы можете просто сослаться на ячейку заголовка для фильтруемого столбца. Например, если заголовок (тот, к которому Автофильтр добавляет стрелку раскрывающегося списка) является ячейкой C3, вы можете использовать следующее:

=DispCriteria(C3)

Критерии, отображаемые функцией, фактически используются Автофильтром. Например, если вы используете критерий фильтрации, который гласит «Топ-10», тогда Excel преобразует это во время применения во что-то вроде «> = 214.3281932» (значение будет варьироваться в зависимости от ваших данных). Это формульный фильтр, который возвращается функцией DispCriteria, а не формулировка «Топ-10».

Функция основана на функции, созданной Microsoft MVP Стивеном Булленом.

Макрос был опубликован в разных местах, и вы можете найти его на веб-сайте Джона Уокенбаха здесь:

http://www.j-walk.com/ss/excel/usertips/tip044.htm

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (2891) применим к Microsoft Excel 97, 2000, 2002 и 2003.