Поставяне във филтриран набор от данни - Съвети на Excel

Джо пита дали има начин да се направи операция за филтрирано поставяне в Excel.

Да кажем, че имате 1000 записа на Sheet1. Филтрирате този набор от данни, за да ви покаже само записите с ProdID = Z. Изберете набора от данни и поставете в Sheet2. Добре е, че Excel носи само видимите записи, така че имате непрекъснат блок клетки. Може би правите някои трансформации на тези записи и сега трябва да го поставите обратно в оригиналния набор от данни. Excel НЕ предлага лесен начин за това. Макросът в това видео ще подпомогне процеса. Записах Learn Excel Podcast епизод 977, показващ макрос, който да помогне за това действие. Тук ще намерите видеоклипа и кода, използвани в работната книга на Excel.

Гледам видео

Копирай този код

Нагласих малко кода от видеото. Това предполага, че ще копирате реда на заглавието и филтрираните записи от Sheet1 в Sheet2:

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. Гледайте това видео тук :.

Интересни статии...