Įklijavimas į filtruotų duomenų rinkinį - „Excel“ patarimai

Joe klausia, ar yra būdas atlikti filtruotą įklijavimo operaciją „Excel“.

Tarkime, kad „Sheet1“ turite 1000 įrašų. Filtruojate tą duomenų rinkinį, kad jums būtų rodomi tik įrašai su ProdID = Z. Pasirinkite duomenų rinkinį ir įklijuokite į „Sheet2“. Puikiai „Excel“ pateikia tik matomus įrašus, taigi jūs turite gretimą langelių bloką. Galbūt jūs keletą kartų transformavote tuos įrašus ir dabar turite juos vėl įklijuoti į pradinį duomenų rinkinį. „Excel“ nesiūlo jokio paprasto būdo tai padaryti. Šiame vaizdo įraše esanti makrokomanda padės atlikti procesą. Aš įrašiau „Learn Excel Podcast“ 977 epizodą, kuriame buvo makrokomanda, padedanti atlikti šį veiksmą. Čia rasite vaizdo įrašą ir kodą, naudojamą „Excel“ darbaknygėje.

Žiūrėti video

Nukopijuokite šį kodą

Šiek tiek pakoregavau vaizdo įrašo kodą. Tai daro prielaidą, kad nukopijuosite antraštės eilutę ir filtruotus įrašus iš „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

Sprendimas be makrokomandų

Po pirmojo vaizdo transliacijos Gary atsiuntė naują sprendimą naudodamas „Paste Skip Blanks“. Žiūrėkite tą vaizdo įrašą čia:

Įdomios straipsniai...