See õpetus näitab, kuidas lahtrite väärtuste põhjal ridu kustutada või sisestada.
Kustuta rida lahtri väärtuse alusel
See liigub läbi vahemiku ja kustutab read, kui veerus A on kirjas „kustuta”.
1234567891011121314151617181920 | Sub DeleteRowsBasedonCellValue ()'Muutujate deklareeriminePimendage viimast rida nii kaua, esimene rida nii kauaHämarda rida sama kauaActiveSheet abil'Määratlege esimene ja viimane ridaEsimene rida = 1LastRow = .UsedRange.Rows (.UsedRange.Rows.Count) .Row„Ridade läbimine (alt üles)Rida = Viimane rida esimese rea sammuks -1Kui .Range ("A" ja rida) .Väärtus = "kustuta" Siis.Range ("A" & rida) .Kogu rida.KustutaLõpp KuiJärgmine ridaLõpetaEnd Sub |
Peame tsüklit alustama alumisest reast, sest rea kustutamine nihutab andmeid, jättes read vahele, kui teete silmus ülevalt alla.
Samuti pange tähele, et viimasele reale käsitsi sisestamise asemel arvutame viimati kasutatud rea.
Kustuta rida - filtri põhjal
Eelmises näites ajasime read läbi, kustutades iga kriteeriumitele vastava rea. Teise võimalusena võime kasutada Exceli automaatset filtrit ridade filtreerimiseks mõne kriteeriumi alusel ja seejärel nähtavate ridade kustutamiseks:
12345678910111213141516171819202122232425 | AlamfilterAndDeleteRows ()'Deklareeri ws muutujaDim ws töölehenaMäära ws = ActiveSheet'Lähtesta olemasolevad filtridVea korral Jätka järgmistws.ShowAllDataViga GoTo 0'Rakenda filterws.Range ("a1: d100"). Automaatfiltri väli: = 1, kriteeriumid1: = "kustuta"'Kustuta readApplication.DisplayAlerts = Valews.Range ("a1: d100"). SpecialCells (xlCellTypeVisible) .DeleteApplication.DisplayAlerts = Tõsi'Kustuta filterVea korral Jätka järgmistws.ShowAllDataViga GoTo 0End Sub |
Kustuta rida lahtrite kriteeriumide alusel
See liigub läbi vahemiku ja kustutab read, kui veeru A lahter vastab teatud kriteeriumidele (<0):
1234567891011121314151617181920 | Sub DeleteRowsBasedonCellValue ()'Muutujate deklareeriminePimendage viimast rida nii kaua, esimene rida nii kauaHämarda rida sama kauaActiveSheet abil'Määratlege esimene ja viimane ridaEsimene rida = 1LastRow = .UsedRange.Rows (.UsedRange.Rows.Count) .Row„Ridade läbimine (alt üles)Rida = Viimane rida esimese rea sammuks -1Kui .Range ("A" ja rida) .Väärtus <0 Siis.Range ("A" & rida) .Kogu rida.KustutaLõpp KuiJärgmine ridaLõpetaEnd Sub |
VBA programmeerimine | Koodigeneraator töötab teie jaoks!
Kustuta rida, kui lahter on tühi
See liigub läbi vahemiku, kustutades rea, kui veeru A lahter on tühi:
1234567891011121314151617181920 | Sub DeleteRowsBasedonCellValue ()'Muutujate deklareeriminePimendage viimast rida nii kaua, esimene rida nii kauaHämarda rida sama kauaActiveSheet abil'Määratlege esimene ja viimane ridaEsimene rida = 1LastRow = .UsedRange.Rows (.UsedRange.Rows.Count) .Row„Ridade läbimine (alt üles)Rida = Viimane rida esimese rea sammuks -1Kui .Range ("A" & rida) .Väärtus = "" Siis.Range ("A" & rida) .Kogu rida.KustutaLõpp KuiJärgmine ridaLõpetaEnd Sub |
Kustuta tühi rida
Teise võimalusena, kui soovite rea kustutada, kui kogu rida on tühi (klõpsake mõne muu meetodi jaoks lingil), võite kasutada seda koodi:
1234567891011121314151617181920 | Alam KustutaBlankRows ()'Muutujate deklareeriminePimendage viimast rida nii kaua, esimene rida nii kauaHämarda rida sama kauaActiveSheet abil'Määratlege esimene ja viimane ridaEsimene rida = 1LastRow = .UsedRange.Rows (.UsedRange.Rows.Count) .Row„Ridade läbimine (alt üles)Rida = Viimane rida esimese rea sammuks -1Kui WorksheetFunction.CountA (.Rids (Row)) = 0 Siis. Ridad (rida). Kogu rida. KustutaLõpp KuiJärgmine ridaLõpetaEnd Sub |
Kustuta rida, kui lahter sisaldab väärtust
See liigub läbi vahemiku, kustutades rea, kui veeru A lahter pole tühi:
1234567891011121314151617181920 | Sub DeleteRowsBasedonCellValue ()'Muutujate deklareeriminePimendage viimast rida nii kaua, esimene rida nii kauaHämarda rida sama kauaActiveSheet abil'Määratlege esimene ja viimane ridaEsimene rida = 1LastRow = .UsedRange.Rows (.UsedRange.Rows.Count) .Row„Ridade läbimine (alt üles)Rida = Viimane rida esimese rea sammuks -1Kui .Range ("A" & rida) .Väärtus "" Siis.Range ("A" & rida) .Kogu rida.KustutaLõpp KuiJärgmine ridaLõpetaEnd Sub |
Kas olete väsinud VBA koodinäidete otsimisest? Proovige AutoMacrot!
Sisestage rida lahtri väärtuse alusel
See liigub läbi vahemiku, lisades ridu, kui selle rea teatud lahter ütleb „insert”:
1234567891011121314151617181920 | Sub InsertRowsBasedonCellValue ()'Muutujate deklareeriminePimendage viimast rida nii kaua, esimene rida nii kauaHämarda rida sama kauaActiveSheet abil'Määratlege esimene ja viimane ridaEsimene rida = 1LastRow = .UsedRange.Rows (.UsedRange.Rows.Count) .Row„Ridade läbimine (alt üles)Rida = Viimane rida esimese rea sammuks -1Kui .Range ("A" & rida) .Value = "insert" Siis.Range ("A" & rida) .EntireRow.InsertLõpp KuiJärgmine ridaLõpetaEnd Sub |