Brisanje vrstic s pogojem v enem stolpcu

Uporaba VBA v excelu je velikokrat zapostavljena in prav je, da je občasno malo propagiram. Tokrat čisto kratka funkcija, ki pobriše celotno vrstico glede na vsebino v določenem stolpcu te vrstice. Malo čuden stavek, zato sledi krajši praktični primer. Denimo, da imamo seznam oseb, ki so se prijavile na piknik. V stolpec A vnesemo DA, če je oseba plačala neprostovoljni prispevek oz. NE, če prispevka ni plačala. Sedaj želimo, da funkcija pobriše tiste vrstice, kjer so osebe, ki prispevka niso plačale.

Pritisnemo kombinacijo tipk Alt+F11, da odpremo VBA urejevalnik, dodamo nov modul in vnesemo:

Sub delitaj()
Dim FoundCell As Range
   Application.ScreenUpdating = False
   Set FoundCell = Range(“A:A”).Find(what:=”DA”)
    Do Until FoundCell Is Nothing
        FoundCell.EntireRow.Delete
        Set FoundCell = Range(“A:A”).FindNext
Loop
End Sub

Še kratka razlaga. Set FoundCell = Range(“A:A”).Find(what:=”DA”) poišče celico v stolpcu A, ki vsebuje tekst “DA”. Če celica ne vsebuje teksta “DA”, funkcija nadaljuje z iskanjem. Ko najde celico s tekstom “DA”, pobriše celotno vrstico. To naredi za vse vrstice na aktivnem delovnem listu.

Objavljeno v Pisarna Oznake:

Dodaj odgovor

Vaš e-naslov ne bo objavljen. * označuje zahtevana polja

*