Limer inn i et filtrert datasett - Excel-tips

Joe spør om det er en måte å gjøre en filtrert limoperasjon i Excel på.

Si at du har 1000 poster på Sheet1. Du filtrerer datasettet for å vise deg bare postene med ProdID = Z. Velg datasettet og lim inn i Ark2. Pent, Excel gir bare de synlige postene, så du har en sammenhengende blokk med celler. Kanskje du gjør noen transformasjoner til disse postene, og nå må du lime den inn i det opprinnelige datasettet. Excel tilbyr IKKE noen enkel måte å gjøre dette på. Makroen i denne videoen vil hjelpe deg med prosessen. Jeg spilte inn Learn Excel Podcast-episode 977 som viser en makro for å hjelpe deg med denne handlingen. Her finner du videoen og koden som brukes i Excel-arbeidsboken.

Se på video

Kopier denne koden

Jeg justerte koden fra videoen litt. Dette forutsetter at du vil kopiere overskriftsraden og de filtrerte postene 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 uten makroer

Etter at den første videoen ble sendt, sendte Gary inn en ny løsning ved hjelp av Paste Skip Blanks. Se den videoen her :.

Interessante artikler...