Microsoft Excel включает несколько отличных инструментов, которые помогут вам фильтровать большие таблицы данных, чтобы они включали только ту информацию, которую вы хотите отображать. По сути, фильтры позволяют «разрезать и нарезать» ваши данные, пока вы не получите именно то, что хотите.

При печати отфильтрованных данных вам может потребоваться знать, какие фрагменты и кубики были сделаны для исходных данных. Есть несколько способов отображения критериев фильтрации. Один из простых способов — использовать расширенные возможности фильтрации Excel, которые требуют создания небольшой таблицы критериев для ваших данных. Если таблица критериев является частью того, что вы печатаете, вы можете довольно легко увидеть свои критерии фильтрации.

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

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

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

Sub AddFilterCriteria()

Dim strCriteria As String

strCriteria = FilterCriteria()

If strCriteria = "" Then         strCriteria = "No Filtering Criteria"

Else         strCriteria = "Filter Criteria:" & Chr(10) & strCriteria     End If

'   add Criteria string to Header/Footer     With ActiveSheet.PageSetup         .LeftHeader = strCriteria     End With End Sub

Function FilterCriteria() As String     Dim rngCriteria As Range, col As Range, cel As Range     Dim strCriteria As String, r As Integer, c As Integer     Const strCriteriaRange As String = "Criteria"



FilterCriteria = ""



On Error Resume Next     'Set Criteria-Range reference     Set rngCriteria = Range(strCriteriaRange)

If Err <> 0 Then Exit Function     On Error GoTo 0

'   Create Criteria String     c = 0     For Each col In rngCriteria.Columns         c = c + 1     ' CriteriaRange Columns         r = 1         ' CriteriaRange Rows         For Each cel In col.Cells             If r = 1 Then                 strCriteria = strCriteria & "Criteria" _                   & c & " (" & cel.Value & ") = "

Else                 strCriteria = strCriteria & "'" & cel.Value & "'"

If IsEmpty(cel.Offset(1, 0)) Then                     'Add New row Char if not Last Criteria Column                     If c < rngCriteria.Columns.Count Then                         strCriteria = strCriteria & Chr(10)

End If                     Exit For                 End If                 strCriteria = strCriteria & "  "

End If             r = r + 1         Next cel    ' next criteria row     Next col        ' next criteria column

FilterCriteria = strCriteria End Function

Чтобы использовать этот макрос, просто запустите макрос AddFilterCriteria после настройки расширенной фильтрации. Макрос считывает таблицу критериев и объединяет критерии в строку, которая помещается в левый заголовок.

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

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

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

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

Этот совет (3248) относится к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и новее) здесь:

link: / excelribbon-visible_Filter_Criteria_on_a_Printout [Отображение критериев фильтрации в распечатке].