Kazalo
Č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.xlsm14 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.