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

(Следует отметить, что Microsoft изменила способ работы комментариев в Excel Office 365. Комментарии теперь объединены в цепочки, что позволяет пользователям обсуждать друг с другом данные. Заметки работают как комментарии в более ранних версиях Excel.)

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

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

Затем вы должны убедиться, что Excel знает, что вам нужны только видимые ячейки:

  1. Нажмите F5, чтобы открыть диалоговое окно «Перейти».

  2. Щелкните Special, чтобы отобразить диалоговое окно Go To Special. (См. Рис. 1.)

  3. Убедитесь, что выбран параметр «Только видимые ячейки».

  4. Щелкните ОК.

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

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

Sub AdvancedFilter_AndCopyComments()

With Range("Database")

' filter the data range         .AdvancedFilter Action:=xlFilterInPlace, _           CriteriaRange:=Range("Criteria"), Unique:=False         ' copy visible cells only         .SpecialCells(xlCellTypeVisible).Copy     End With

' goto to another worksheet     Sheets("Sheet1").Select     ' and paste the copied data     With Range("A1")

.PasteSpecial xlPasteColumnWidths         .PasteSpecial xlPasteAll     End With

Application.CutCopyMode = False End Sub

Макрос предполагает, что у вас настроены два именованных диапазона: один для данных, которые нужно отфильтровать (База данных), а другой — для критериев фильтрации (Критерии). Запустите макрос, и отфильтрованная, прокомментированная или отмеченная информация окажется на Sheet1.

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

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

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

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

Этот совет (10284) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Copying_Comments_when_Filtering [Копирование комментариев при фильтрации].