Klistra in i en filtrerad datamängd - Excel Tips

Joe frågar om det finns ett sätt att göra en filtrerad klistraoperation i Excel.

Anta att du har 1000 poster på Sheet1. Du filtrerar den datauppsättningen för att endast visa posterna med ProdID = Z. Välj datamängden och klistra in i Sheet2. Snyggt, Excel ger bara de synliga posterna, så du har ett angränsande block av celler. Du kanske gör några omvandlingar till dessa poster och nu måste du klistra in den i den ursprungliga datamängden. Excel erbjuder INTE något enkelt sätt att göra detta. Makrot i den här videon hjälper till med processen. Jag spelade in Learn Excel Podcast avsnitt 977 som visar ett makro som hjälper till med den här åtgärden. Här hittar du videon och koden som används i Excel-arbetsboken.

Kolla på video

Kopiera den här koden

Jag justerade koden från videon lite. Detta förutsätter att du kommer att kopiera rubrikraden och de filtrerade posterna från Sheet1 till 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

En lösning utan makron

Efter att den första videon sändes skickade Gary in en ny lösning med Paste Skip Blanks. Se den videon här :.

Intressanta artiklar...