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

Ответ, как нетрудно догадаться, зависит от того, что именно подразумевается под словом «по умолчанию». Excel не позволит вам включать фильтры, если на листе нет данных (поскольку фильтровать нечего), поэтому «по умолчанию» не может означать новые пустые книги.

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

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

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

Вы также можете убедиться, что данные на ваших листах определены как формальная таблица данных. Все, что вам нужно сделать, это выбрать ячейку в данных и нажать Ctrl + T или открыть вкладку «Вставка» на ленте и щелкнуть инструмент «Таблица». После того, как таблица данных настроена, Excel сохраняет фильтры для этой таблицы данных включенными, если вы не преобразуете ее обратно из таблицы данных в обычные данные.

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

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _   Cancel As Boolean)

Dim ws As Worksheet

On Error Resume Next ' Handles worksheets with no data     For Each ws In ThisWorkbook.Worksheets         If ws.AutoFilter Is Nothing Then             ' Only affect worksheets with filtering turned off             ws.Rows(ws.UsedRange.Row).AutoFilter         End If     Next ws     On Error GoTo 0 End Sub

Этот макрос следует добавить к объекту ThisWorkbook в редакторе Visual Basic. Он будет выполняться каждый раз, когда рабочая книга закрывается, тем самым гарантируя, что фильтрация включена для каждого рабочего листа. Поскольку состояние фильтрации сохраняется вместе с книгой, фильтры будут на месте при следующем открытии книги.

Конечно, вы можете не захотеть, чтобы макрос был связан с каждой из ваших книг. В такой ситуации может быть проще запомнить небольшое быстрое сочетание клавиш: Ctrl + Shift + L. Этот ярлык переключает состояние фильтрации данных, окружающих текущую выбранную ячейку. Таким образом, вы можете выбрать ячейку, нажать Ctrl + Shift + L, и фильтрация будет включена. Нажмите еще раз, и фильтрация отключится. Ярлык работает очень быстро и позволяет легко фильтровать данные (или нет).

Вы также можете добавить инструмент «Фильтр» на панель быстрого доступа. (Добавление инструментов в QAT было рассмотрено в других выпусках ExcelTips.) Щелкните значок «Фильтр», чтобы включить или выключить фильтрацию.

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

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

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

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

Этот совет (13037) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.