Вставка в набор отфильтрованных данных - Советы по Excel

Джо спрашивает, есть ли способ выполнить операцию вставки с фильтром в Excel.

Скажем, у вас есть 1000 записей на Sheet1. Вы фильтруете этот набор данных, чтобы показать вам только записи с ProdID = Z. Выберите набор данных и вставьте его в Sheet2. Хорошо, что Excel выводит только видимые записи, поэтому у вас есть непрерывный блок ячеек. Возможно, вы изменили эти записи и теперь вам нужно вставить их обратно в исходный набор данных. Excel НЕ предлагает простых способов сделать это. Макрос в этом видео поможет в этом процессе. Я записал выпуск 977 подкаста Learn Excel, в котором показан макрос, помогающий с этим действием. Здесь вы найдете видео и код, используемый в книге 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. Посмотрите это видео здесь :.

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