Вставка в набір фільтрованих даних - Поради Excel

Джо запитує, чи є спосіб виконати операцію відфільтрованої вставки в Excel.

Скажімо, у вас є 1000 записів на Sheet1. Ви фільтруєте цей набір даних, щоб показати вам лише записи з ProdID = Z. Виберіть набір даних і вставте на Аркуш2. Приємно, що Excel приносить лише видимі записи, тому у вас є суцільний блок комірок. Можливо, ви виконуєте певні перетворення цих записів, і тепер вам потрібно вставити його назад у вихідний набір даних. Excel не пропонує жодного простого способу зробити це. Макрос у цьому відео допоможе у процесі. Я записав епізод 977 Learn Excel Podcast, в якому показано макрос, який допоможе в цій дії. Тут ви знайдете відео та код, використаний у книзі Excel.

Переглянути відео

Скопіюйте цей код

Я трохи підправив код із відео. Це передбачає, що ви скопіюєте рядок заголовка та відфільтровані записи з Аркуша1 на Аркуш2:

Sub PasteBack() ' Assumes the Filterered Sheet1 is active Set DataToCopy = Sheet2.Range("A1").CurrentRegion n = 2 ' index for range to copy from Sheet2 one row at a time, skipping headers For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row ' row 1 is header If Not Rows(i).Hidden Then DataToCopy.Offset(n - 1).Resize(1).Copy Cells(i, 1) n = n + 1 If n> DataToCopy.Rows.Count Then Exit Sub End If Next i End Sub

Рішення без макросів

Після виходу в ефір першого відео Гері надіслав нове рішення, використовуючи Paste Skip Blanks. Подивіться це відео тут :.

Цікаві статті...