Indsættelse i et filtreret datasæt - Excel-tip

Joe spørger, om der er en måde at udføre en filtreret indsætningsoperation i Excel på.

Sig, at du har 1000 poster på Sheet1. Du filtrerer det datasæt for kun at vise dig poster med ProdID = Z. Vælg datasættet og indsæt til Sheet2. Pænt, Excel bringer kun de synlige poster, så du har en sammenhængende blok af celler. Måske foretager du nogle ændringer til disse poster, og nu skal du indsætte det tilbage i det originale datasæt. Excel tilbyder IKKE nogen nem måde at gøre dette på. Makroen i denne video hjælper med processen. Jeg har optaget Learn Excel Podcast-afsnit 977, der viser en makro til at hjælpe med denne handling. Her finder du videoen og koden, der bruges i Excel-projektmappen.

Se video

Kopier denne kode

Jeg justerede koden fra videoen lidt. Dette forudsætter, at du vil kopiere overskriftsrækken og de filtrerede poster fra Ark1 til Ark2:

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 uden makroer

Efter at den første video blev sendt, sendte Gary en ny løsning ved hjælp af Paste Skip Blanks. Se denne video her :.

Interessante artikler...