Poista tai lisää rivejä solun arvon perusteella

Tämä opetusohjelma osoittaa, kuinka poistetaan tai lisätään rivejä soluarvojen perusteella.

Poista rivi solun arvon perusteella

Tämä kiertää alueen läpi ja poistaa rivit, jos sarakkeessa A lukee "poista".

1234567891011121314151617181920 Sub DeleteRowsBasedonCellValue ()'Ilmoita muuttujatHimmennä viimeinen rivi niin kauan, ensimmäinen rivi niin kauanHimmennä rivi niin kauanActiveSheetin kanssa'Määritä ensimmäinen ja viimeinen riviEnsimmäinen rivi = 1LastRow = .UsedRange.Rows (.UsedRange.Rows.Count) .Row'Kierrä rivejä (alhaalta ylös)Rivi = viimeinen rivi ensimmäiselle riville Vaihe -1Jos .Range ("A" & Rivi) .Value = "poista" Sitten.Range ("A" ja rivi) .EttireRow.DeleteLoppu JosSeuraava riviLopetaEnd Sub

Meidän on aloitettava silmukka alimmalla rivillä, koska rivin poistaminen siirtää tietoja ja ohittaa rivit, jos silmukka ylhäältä alas.

Huomaa myös, että viimeisen rivin manuaalisen syöttämisen sijaan laskemme viimeksi käytetyn rivin.

Poista rivi - Suodattimen perusteella

Edellisessä esimerkissä selasimme rivit läpi poistamalla kaikki kriteerit täyttävät rivit. Vaihtoehtoisesti voimme suodattaa rivit joidenkin ehtojen perusteella Excelin automaattisen suodattimen avulla ja poistaa sitten näkyvät rivit:

12345678910111213141516171819202122232425 Sub FilterAndDeleteRows ()'Ilmoita ws -muuttujaDim ws laskentataulukkonaAseta ws = ActiveSheet'Nollaa olemassa olevat suodattimetVirhe Jatka seuraavaksiws.ShowAllDataVirhe GoTo 0'Käytä suodatintaws.Range ("a1: d100"). Automaattisuodatinkenttä: = 1, kriteerit1: = "poista"'Poista rivitApplication.DisplayAlerts = Vääräws.Range ("a1: d100"). SpecialCells (xlCellTypeVisible) .DeleteApplication.DisplayAlerts = Totta'Tyhjennä suodatinVirhe Jatka seuraavaksiws.ShowAllDataVirhe GoTo 0End Sub

Poista rivi solukriteerien perusteella

Tämä kiertää alueen läpi ja poistaa rivit, jos sarakkeen A solu täyttää tietyt ehdot (<0):

1234567891011121314151617181920 Sub DeleteRowsBasedonCellValue ()'Ilmoita muuttujatHimmennä viimeinen rivi niin kauan, ensimmäinen rivi niin kauanHimmennä rivi niin kauanActiveSheetin kanssa'Määritä ensimmäinen ja viimeinen riviEnsimmäinen rivi = 1LastRow = .UsedRange.Rows (.UsedRange.Rows.Count) .Row'Kierrä rivejä (alhaalta ylös)Rivi = viimeinen rivi ensimmäiselle riville Vaihe -1Jos .Range ("A" & Rivi) .Arvo <0 Sitten.Range ("A" ja rivi) .EttireRow.DeleteLoppu JosSeuraava riviLopetaEnd Sub

VBA -ohjelmointi | Koodigeneraattori toimii sinulle!

Poista rivi, jos solu on tyhjä

Tämä kiertää alueen läpi ja poistaa rivin, jos sarakkeen A solu on tyhjä:

1234567891011121314151617181920 Sub DeleteRowsBasedonCellValue ()'Ilmoita muuttujatHimmennä viimeinen rivi niin kauan, ensimmäinen rivi niin kauanHimmennä rivi niin kauanActiveSheetin kanssa'Määritä ensimmäinen ja viimeinen riviEnsimmäinen rivi = 1LastRow = .UsedRange.Rows (.UsedRange.Rows.Count) .Row'Kierrä rivejä (alhaalta ylös)Rivi = viimeinen rivi ensimmäiselle riville Vaihe -1Jos .Range ("A" & Rivi) .Value = "" Sitten.Range ("A" ja rivi) .EttireRow.DeleteLoppu JosSeuraava riviLopetaEnd Sub

Poista tyhjä rivi

Vaihtoehtoisesti, jos haluat poistaa rivin, jos koko rivi on tyhjä (napsauta linkkiä saadaksesi hieman erilaisen menetelmän), voit käyttää tätä koodia:

1234567891011121314151617181920 Sub DeleteBlankRows ()'Ilmoita muuttujatHimmennä viimeinen rivi niin kauan, ensimmäinen rivi niin kauanHimmennä rivi niin kauanActiveSheetin kanssa'Määritä ensimmäinen ja viimeinen riviEnsimmäinen rivi = 1LastRow = .UsedRange.Rows (.UsedRange.Rows.Count) .Row'Kierrä rivejä (alhaalta ylös)Rivi = viimeinen rivi ensimmäiselle riville Vaihe -1Jos WorksheetFunction.CountA (.Rows (Row)) = 0 Sitten.Rivit (Rivi) .Koko Rivi.PoistaLoppu JosSeuraava riviLopetaEnd Sub

Poista rivi, jos solu sisältää arvon

Tämä kiertää alueen läpi ja poistaa rivin, jos sarakkeen A solu ei ole tyhjä:

1234567891011121314151617181920 Sub DeleteRowsBasedonCellValue ()'Ilmoita muuttujatHimmennä viimeinen rivi niin kauan, ensimmäinen rivi niin kauanHimmennä rivi niin kauanActiveSheetin kanssa'Määritä ensimmäinen ja viimeinen riviEnsimmäinen rivi = 1LastRow = .UsedRange.Rows (.UsedRange.Rows.Count) .Row'Kierrä rivejä (alhaalta ylös)Rivi = viimeinen rivi ensimmäiselle riville Vaihe -1Jos .Range ("A" & Rivi) .Arvo "" Sitten.Range ("A" ja rivi) .EttireRow.DeleteLoppu JosSeuraava riviLopetaEnd Sub

Oletko kyllästynyt etsimään esimerkkejä VBA -koodista? Kokeile AutoMacroa!

Lisää rivi solun arvon perusteella

Tämä kiertää alueen läpi ja lisää rivejä, jos jokin kyseisen rivin solu sanoo "lisää":

1234567891011121314151617181920 Sub InsertRowsBasedonCellValue ()'Ilmoita muuttujatHimmennä viimeinen rivi niin kauan, ensimmäinen rivi niin kauanHimmennä rivi niin kauanActiveSheetin kanssa'Määritä ensimmäinen ja viimeinen riviEnsimmäinen rivi = 1LastRow = .UsedRange.Rows (.UsedRange.Rows.Count) .Row'Kierrä rivejä (alhaalta ylös)Rivi = viimeinen rivi ensimmäiselle riville Vaihe -1Jos .Range ("A" & Rivi) .Value = "insert" Then.Range ("A" ja rivi) .EntireRow.InsertLoppu JosSeuraava riviLopetaEnd Sub
wave wave wave wave wave