Копирование комментариев при фильтрации (Microsoft Excel)
Vinod часто использует расширенные инструменты фильтрации Excel для копирования отфильтрованных данных из одного места в другое. В некоторых случаях он хотел бы скопировать не только содержимое ячеек, но и комментарии к ячейкам, которые соответствуют критериям фильтрации. Он не ищет способ фильтрации на основе комментариев, а только для копирования комментариев вместе с содержимым ячейки при использовании расширенных возможностей фильтрации Excel.
Насколько мы можем судить, нет возможности скопировать комментарии с помощью расширенной фильтрации; копируется только содержимое ячейки. Однако можно легко скопировать комментарии, используя двухэтапный процесс.
Во-первых, используйте расширенную фильтрацию для фильтрации данных, но убедитесь, что фильтрация выполняется на месте; не указывайте, что вы хотите скопировать информацию в другое место. В результате вы получаете отфильтрованный список, в котором отображаются только ячейки, соответствующие вашим критериям. Затем выберите ячейки, возвращенные фильтрацией. Затем вы должны убедиться, что Excel знает, что вам нужны только видимые ячейки:
-
Нажмите F5, чтобы открыть диалоговое окно «Перейти».
-
Щелкните Special, чтобы отобразить диалоговое окно Go To Special. (См. Рис. 1.)
-
Убедитесь, что выбран параметр «Только видимые ячейки».
-
Щелкните ОК.
Выделив видимые ячейки (те, что скрыты фильтрацией, не выделяются), вы готовы ко второму шагу: скопировать ячейки в другое место, используя обычные методы редактирования. В результате комментарии копируются вместе с содержимым ячейки.
Если вы выполняете эту задачу совсем немного, и это даже мешает вам выполнить два шага, вы можете автоматизировать задачу. Следующий макрос применит расширенный фильтр на месте, скопирует видимые ячейки в буфер обмена, а затем вставит их (и их комментарии) в новую книгу:
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 [Копирование комментариев при фильтрации]
.