Kako izbrisati vrstico z uporabo VBA (14 načinov)

  • Deliti To
Hugh West

Če iščete nekaj najlažjih načinov za brisanje vrstice z uporabo VBA , potem ste na pravem mestu.

Oglejmo si glavni članek.

Prenos delovnega zvezka

VBA Izbriši vrstico.xlsm

14 načinov za brisanje vrstice z uporabo VBA

Tu imam tri podatkovne tabele, v katerih so prikazani načini brisanja vrstic z uporabo VBA Prva tabela vsebuje nekaj Izdelki podjetja in njihovih Velikosti , Cene .

Drugi ima nekaj Kode izdelkov in njuna ustrezna Velikosti izdelkov in . Cene

In zadnji vsebuje nekaj Imena projektov in njuna ustrezna Začetni datumi in . Stroški .

Za ustvarjanje članka sem uporabil Microsoft Excel 365 različico, lahko pa uporabite katero koli drugo različico glede na svoje potrebe.

Metoda-1: Brisanje ene vrstice z uporabo VBA

Recimo, da želite izbrisati vrstico, ki vsebuje Izdelek Čevelj 1, za brisanje te ene vrstice pa lahko uporabite to metodo.

Korak-01 :

➤Idi na Razvijalec Tab>> Visual Basic Možnost

Nato se Urejevalnik Visual Basic se bo odprlo.

➤Najdi na Vstavite Tab>> Modul Možnost

Po tem je treba Modul bo ustvarjen.

Korak-02 :

➤Napišite naslednjo kodo

 Sub dltrow1() Delovni listi("Single").Rows(7).EntireRow.Delete End Sub 

Tukaj, "Single" je ime delovnega lista in Vrstice (7) izbere številko vrstice.

.EntireRow.Delete izbriše celotno vrstico 7.

➤Press F5

Rezultat :

Na ta način boste izbrisali vrstico, ki vsebuje Izdelek ime Čevelj 1 .

Preberite več: Kako izbrisati vrstice v Excelu: 7 metod

Metoda-2: Brisanje več vrstic z uporabo VBA

Če želite izbrisati več vrstic, kot so vrstice, ki vsebujejo Izdelek imena Čevelj1 , Čevlji2, in . Čevlji3 potem lahko sledite temu VBA koda.

Korak-01 :

➤Sledovati Korak-01 na spletnem mestu Metoda-1

 Sub dltrow2() Vrstice(13).EntireRow.Delete Vrstice(10).EntireRow.Delete Vrstice(7).EntireRow.Delete End Sub 

Tukaj bodo izbrisane številke vrstic 13, 10 in 7, pri zaporednem zapisovanju številk vrstic pa je treba zapisati od zadnje številke vrstice do številke prve vrstice, kot pri tej kodi.

V nasprotnem primeru se bodo po izbrisu prve vrstice, kot je vrstica 7, preostale vrstice pod to vrstico premaknile za eno vrstico navzgor in tako bo vrstica 10 postala vrstica 9, vrstica 13 pa vrstica 12. Zaradi tega ne boste mogli izbrisati pravilnih vrstic.

➤Press F5

Rezultat :

Nato izbrišete vrstice, ki vsebujejo Izdelek imena Čevelj 1 , Čevlji2, in . Čevlji3 .

Preberite več: Kako izbrisati več vrstic v Excelu (3 metode)

Metoda-3: Brisanje vrstice z izbiro

Tukaj bom prikazal način brisanja vrstice glede na aktivno celico te vrstice.

Korak-01 :

➤Sledovati Korak-01 na spletnem mestu Metoda-1

 Sub dltrow3() ActiveCell.EntireRow.Delete End Sub 

Izbriše vrstico z aktivno celico.

➤Shranite kodo.

Korak-02 :

➤Izberite katero koli celico vrstice, ki jo želite izbrisati ( Tukaj sem izbral celico B7 )

➤Najdi na Razvijalec Tab>> Makroji Možnost

Po tem je Makro Odpre se čarovnik.

➤Izberite Ime makra dltrow3 in pritisnite Spustite

Rezultat :

Nato boste izbrisali vrstico, ki vsebuje Izdelek ime Čevelj 1 .

Metoda-4: Brisanje vseh vrstic v izboru

Za brisanje vseh vrstic izbora lahko uporabite to metodo.

Korak-01 :

➤Sledovati Korak-01 na spletnem mestu Metoda-1

 Sub dltrow4() Selection.EntireRow.Delete End Sub 

Izbriše vse vrstice izbora.

➤Shranite kodo.

Korak-02 :

➤Izberite obseg vrstic, ki jih želite izbrisati (tukaj sem izbral obseg B7:D9 )

➤Najdi na Razvijalec Tab>> Makroji Možnost

Po tem je Makro Odpre se čarovnik.

➤Izberite Ime makra dltrow4 in pritisnite Spustite

Rezultat :

Nato izbrišete vrstice, ki vsebujejo Izdelek imena Čevelj 1 , Suknjič1, in . Jakna2 .

Preberite več: Kako izbrisati izbrane vrstice v programu Excel (8 pristopov)

Metoda-5: Brisanje vrstice, če je katera koli celica prazna

Tukaj imam prazno celico, ki je B9 (za to metodo sem odstranil vrednost iz te celice) in z uporabo VBA koda bom izbrisal vrstico, ki ima B9 celica.

Korak-01 :

➤Sledovati Korak-01 na spletnem mestu . Metoda-1

 Sub dltrow5() Range("B5:D13").SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub 

Izbrisal bo vse vrstice v območju "B5:D13" s katero koli prazno celico.

➤Press F5

Rezultat :

Nato boste lahko izbrisali vrstico s prazno celico.

Preberite več: Kako odstraniti prazne vrstice v Excelu (11 metod)

Metoda-6: Brisanje vrstice, če je celotna vrstica prazna

Tukaj imam prazno celico, ki je B9 (odstranil sem vrednosti za to metodo) in prazno vrstico, ki je vrstica 12 (odstranil sem vrednosti za to metodo), ter z uporabo VBA kodo in Funkcija COUNTA Brisal bom vrstico, ki je prazna.

Korak-01 :

➤Sledovati Korak-01 na spletnem mestu Metoda-1

 Sub dltrow6() Dim cell As Range For Each cell In Range("B5:D13") If Application.WorksheetFunction.CountA(cell.EntireRow) = 0 Then cell.EntireRow.Delete End If Next cell End Sub 

"B5:D13" je podatkovno območje in ZA zanka bo delovala za vsako celico v tem območju.

CountA(cell.EntireRow) bo vrnil število nepraznih celic in ko bo to število enako 0, bo vrstica izbrisana.

➤Press F5

Rezultat :

Nato boste lahko izbrisali prazno vrstico, vendar ne boste izbrisali nobene vrstice, ki nima vseh celic te vrstice praznih.

Preberite več: Kako uporabiti VBA za brisanje praznih vrstic v Excelu

Metoda-7: Brisanje vsake n-te vrstice

Po tej metodi lahko izbrišete vsako n-to vrstico (v tem primeru vsako tretjo vrstico).

Korak-01 :

➤Sledovati Korak-01 na spletnem mestu Metoda-1

 Sub dltrow7() rc = Range("B5:D13").Rows.Count For i = rc To 1 Step -3 Range("B5:D13").Rows(i).EntireRow.Delete Next i End Sub 

"B5:D13" je podatkovno območje in rc vrne skupno število vrstic tega območja, ki je 9 .

Tu je ZA zanka se bo začela z zadnjo vrstico, ki je rc ali 9 v tem primeru se konča s prvo vrstico.

Korak -3 bo pomagal izbrisati vse 3. vrstico v tem območju.

➤Press F5

Rezultat :

Nato izbrišete vrstice, ki vsebujejo Izdelek imena Čevelj 1 , Čevlji2, in . Čevlji3 .

Preberite več: Kako izbrisati vsako n-to vrstico v Excelu (najlažje 6 načinov)

Podobna branja:

  • Kako izbrisati izbrane vrstice s programom Excel VBA (navodila po korakih)
  • Brisanje neuporabljenih vrstic v Excelu (8 preprostih načinov)
  • Kako izbrisati skrite vrstice v Excelu (3 metode)
  • Brisanje neskončnih vrstic v Excelu (5 preprostih načinov)
  • Kako izbrisati vrstice v Excelu, ki trajajo večno (4 preprosti načini)

Metoda-8: Brisanje vrstice na podlagi vrednosti celice

V tej metodi bom izbrisal vrstico z določeno vrednostjo Srajca 2 .

Korak-01 :

➤Sledovati Korak-01 na spletnem mestu Metoda-1

 Sub dltrow8() Dim cell As Range For Each cell In Range("B5:D13") If cell.Value = "Shirt 2" Then cell.EntireRow.Delete End If Next cell End Sub 

"B5:D13" je podatkovno območje in ZA zanka bo delovala za vsako celico v tem območju.

Če katera koli celica vrstice vsebuje vrednost "Srajca 2" se vrstica izbriše.

➤Press F5

Rezultat :

Na ta način boste izbrisali vrstico, ki vsebuje Izdelek ime Srajca 2 .

Preberite več: Makro VBA za brisanje vrstice, če celica vsebuje vrednost v Excelu (2 metodi)

Metoda-9: Brisanje podvojenih vrstic

Tukaj imam dve vrstici z Koda izdelka 97375 zato želim izbrisati eno od teh vrstic, ki so spodaj označene z rdečim poljem.

Korak-01 :

➤Sledovati Korak-01 na spletnem mestu Metoda-1

 Sub dltrow9() Razpon("B5:D13").RemoveDuplicates Stolpci:=1 End Sub 

Tukaj, "B5:D13" je podatkovno območje in Stolpci:=1 pomeni, da bo podvojene vrednosti iskal samo v enem stolpcu, ki je začetni stolpec. Stolpec B če pa želite iskati tudi v drugih stolpcih, lahko to številko uporabite glede na svoje potrebe.

➤Press F5

Rezultat :

Nato boste lahko izbrisali vrstico, ki je podobna drugi vrstici.

Preberite več: Kako izbrisati podvojene vrstice v Excelu z VBA (8 učinkovitih načinov)

Metoda-10: Brisanje vrstic v tabeli

Predpostavimo, da imate naslednjo tabelo, katere ime je Tabela1 in zdaj želite izbrisati vrstico številka 6 te tabele. To lahko storite po tej metodi.

Korak-01 :

➤Sledovati Korak-01 na spletnem mestu Metoda-1

 Sub dltrow10() ActiveWorkbook.Worksheets("Tabela").ListObjects("Tabela1").ListRows(6).Delete End Sub 

Tukaj, "Miza" je ime lista, "Tabela1" je ime tabele in 6 je številka vrstice te tabele, ki jo želite izbrisati.

➤Press F5

Rezultat :

Na ta način boste izbrisali želeno vrstico te tabele.

Preberite več: Kako odstraniti podvojene vrstice na podlagi enega stolpca z uporabo programa Excel VBA

Metoda-11: Brisanje vidnih vrstic po filtriranju

Tukaj imam podatkovno tabelo, ki je filtrirana z Cena stolpec za vrednosti, večje od $1,500.00 in po filtriranju želim izbrisati vse vidne vrstice.

Korak-01 :

➤Sledovati Korak-01 na spletnem mestu Metoda-1

 Sub dltrow11() Range("B5:D13").SpecialCells(xlCellTypeVisible).EntireRow.Delete End Sub 

Tukaj, "B5:D13" je območje podatkov.

➤Press F5

Zdaj bodo vse vidne vrstice po filtriranju izbrisane. Skrite vrstice lahko zdaj vrnete z izbiro Filter znak v Cena stolpec.

➤Kliknite na Izberite vse možnost

➤Press V REDU

Rezultat :

Skrite vrstice se vrnejo v podatkovno tabelo.

Preberite več: Kako filtrirati in brisati vrstice z VBA v Excelu (2 metodi)

Metoda-12: Brisanje vrstice na podlagi zadnje aktivne celice

Tukaj je moja zadnja aktivna celica celica B13 in želim izbrisati to, ki ima zadnjo aktivno celico naslednje podatkovne tabele.

Korak-01 :

➤Sledovati Korak-01 na spletnem mestu Metoda-1

 Sub dltrow12() Cells(Rows.Count, 2).End(xlUp).EntireRow.Delete End Sub 

Tukaj, 2 pomeni Stolpec B na katerem imam aktivno celico, lahko številko spremenite glede na svoje potrebe.

➤Press F5

Rezultat :

Tako boste izbrisali zadnjo aktivno vrstico.

Preberite več: Excelova koda VBA za brisanje vrstic na podlagi vrednosti več celic (3 merila)

Metoda-13: Brisanje vrstic s poljubnimi nizi

Predpostavimo, da želite izbrisati vrstice s poljubnim nizom, in to lahko storite po tej metodi.

Korak-01 :

➤Sledovati Korak-01 na spletnem mestu Metoda-1

 Sub dltrow13() Dim FirstRow As Long Dim LastRow As Long Dim FirstColumn As Long Dim LastColumn As Long Dim sheet As Worksheet Dim Rng As Range FirstRow = 5 FirstColumn = 2 Set sheet = Worksheets("String") With sheet With .Cells LastRow = .Find(What:="*", LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row LastColumn = .Find(What:="*",LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column End With Set Rng = .Range(.Cells(FirstRow, FirstColumn), .Cells(LastRow, LastColumn)) End With On Error Resume Next Rng.SpecialCells(xlCellTypeConstants, xlTextValues).EntireRow.Delete End Sub 

Tukaj, "string" je ime lista, številka prve vrstice tega podatkovnega območja je 5 in začetna številka stolpca je 2

Spletna stran S spletno stranjo lahko enkrat določite objekt ali uporabniško definiran tip za celotno serijo stavkov.

Ob napaki Nadaljuj naslednji določa, da se ob napaki med izvajanjem nadzor prenese na izjavo, ki sledi izjavi, v kateri se je pojavila napaka.

LastRow in . LastColumn vrne zadnjo vrstico in stolpec podatkovnega območja.

Posebne celice (xlCellTypeConstants, xlTextValues) bo izbral vrstice, v katerih so v tem območju vse vrednosti besedila.

➤Press F5

Rezultat :

Nato boste izbrisali vrstice s poljubnim besedilnim nizom.

Preberite več: Bližnjica programa Excel za brisanje vrstic (z bonusnimi tehnikami)

Metoda-14: Brisanje vrstice na podlagi datumov

Tu bom izbrisal vrstice s posebnim datumom. 11/12/2021 (mm/dd/llllll) v tej metodi z uporabo Funkcija DATEVALUE .

Korak-01 :

➤Sledovati Korak-01 na spletnem mestu Metoda-1

 Sub dltrow14() Dim FirstRow As Long Dim LastRow As Long Dim CriteriaColumn As Long Dim myDate As Date Dim sheet As Worksheet Dim i As Long Dim myRowsWithDate As Range FirstRow = 5 CriteriaColumn = 3 myDate = DateValue("11/12/2021") Set sheet = Worksheets("Date") With sheet LastRow = .Cells.Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, _ SearchOrder:=xlByRows,SearchDirection:=xlPrevious).Row For i = LastRow To FirstRow Step -1 With .Cells(i, CriteriaColumn) If .Value = myDate Then If Not myRowsWithDate Is Nothing Then Set myRowsWithDate = Union(myRowsWithDate, .Cells) Else Set myRowsWithDate = .Cells End If End If End WithNext i End With If Not myRowsWithDate Is Nothing Then myRowsWithDate.EntireRow.Delete End Sub 

Tukaj, "Datum" je ime lista, številka prve vrstice tega podatkovnega območja je 5 številka stolpca merila (v katerem stolpcu so datumi) pa je 3 .

Spletna stran S spletno stranjo lahko enkrat določite objekt ali uporabniško definiran tip za celotno serijo stavkov.

Ob napaki Nadaljuj naslednji določa, da se ob napaki med izvajanjem nadzor prenese na izjavo, ki sledi izjavi, v kateri se je pojavila napaka.

LastRow vrne zadnjo vrstico podatkovnega območja in tukaj ZA zanka se bo začela z zadnjo vrstico, ki je LastRow ali 6 v tem primeru se konča s prvo vrstico.

DATEVALUE pretvori datum besedila v vrednost.

Tukaj, Union vrne unijo več razponov, ki ustrezajo celicam z datumom 11/12/2021 , nato pa bodo območja izbrisana.

➤Press F5

Rezultat :

Nato boste izbrisali vrstice z določenim datumom 11/12/2021 .

Sorodna vsebina: Excel VBA za brisanje vrstic z določenimi podatki (9 primerov)

Oddelek za prakso

Za samostojno izvajanje prakse smo pripravili Praksa kot spodaj v listu z imenom Praksa . Prosimo, da to storite sami.

Zaključek

V tem članku sem poskušal zajeti najlažji način uporabe VBA učinkovito za brisanje vrstic. Upam, da vam bo koristilo. Če imate kakršne koli predloge ali vprašanja, jih lahko delite v razdelku s komentarji.

Hugh West je zelo izkušen trener Excela in analitik z več kot 10-letnimi izkušnjami v industriji. Po izobrazbi je diplomirani računovodstvo in finance ter magisterij poslovne administracije. Hugh ima strast do poučevanja in je razvil edinstven pristop k poučevanju, ki ga je enostavno slediti in razumeti. Njegovo strokovno znanje o Excelu je pomagalo na tisoče študentom in strokovnjakom po vsem svetu, da so izboljšali svoje sposobnosti in se izkazali v karieri. Prek svojega bloga Hugh deli svoje znanje s svetom, ponuja brezplačne vadnice za Excel in spletno usposabljanje, ki posameznikom in podjetjem pomaga doseči njihov polni potencial.