Joe kysyy, onko olemassa tapa tehdä suodatettu liittotoiminto Excelissä.
Oletetaan, että sinulla on 1000 tietuetta Sheet1: llä. Suodatat kyseisen tietojoukon näyttämään sinulle vain tietueet, joiden ProdID = Z. Valitse tietojoukko ja liitä Taulukko2: een. Kauniisti, Excel tuo vain näkyvät tietueet, joten sinulla on vierekkäinen soluyksikkö. Ehkä teet joitain muutoksia näihin tietueisiin, ja sinun on nyt liitettävä se takaisin alkuperäiseen tietojoukkoon. Excel EI tarjoa mitään helppoa tapaa tehdä tämä. Tämän videon makro auttaa prosessia. Nauhoitin Learn Excel Podcast -jakson 977, jossa on makro tämän toiminnan helpottamiseksi. Täältä löydät videon ja koodin, jota käytetään Excel-työkirjassa.
Katso video
kopioi tämä koodi
Säädin videon koodia hieman. Oletetaan, että kopioit otsikkorivin ja suodatetut tietueet Taulukosta1 Taulukkoon2:
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
Ratkaisu ilman makroja
Ensimmäisen videon esittämisen jälkeen Gary lähetti uuden ratkaisun käyttämällä Liitä ohita aihioita. Katso video täältä :.