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

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

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