Kuidas kustutada rida VBA abil (14 võimalust)

  • Jaga Seda
Hugh West

Kui otsite lihtsamaid viise, kuidas kustutada rida kasutades VBA , siis olete õiges kohas.

Sukeldume peamise artikli juurde.

Lae alla töövihik

VBA Kustuta rida.xlsm

14 viise, kuidas kustutada rida VBA abil

Siin on mul kolm andmetabelit, et näidata ridade kustutamise viise, kasutades VBA Esimene tabel sisaldab mõningaid Tooted ettevõtte ja nende Suurused , Hinnad .

Teisel on mõned Tootekoodid ja nende vastavad Toote suurused ja Hinnad

Ja viimane sisaldab mõningaid Projekti nimed ja nende vastavad Alguskuupäevad ja Kulud .

Artikli loomiseks olen kasutanud Microsoft Excel 365 versiooni, võite kasutada mis tahes muid versioone vastavalt oma mugavusele.

Meetod-1: Ühe rea kustutamine VBA abil

Oletame, et soovite kustutada rea, mis sisaldab Toode 1. kinga, ja selle ühe rea kustutamiseks võite järgida seda meetodit.

Step-01 :

➤Sealt edasi Arendaja Tab>> Visual Basic Valik

Siis on Visual Basic toimetaja avaneb.

➤Sealt edasi Sisesta Tab>> Moodul Valik

Pärast seda on Moodul luuakse.

Step-02 :

➤ Kirjutage järgmine kood

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

Siin, "Single" on töölehe nimi ja Rid(7) valib rea numbri.

.EntireRow.Delete kustutab kogu rea 7.

➤Press F5

Tulemus :

Sel viisil kustutatakse rida, mis sisaldab Toode nimi Kinga 1 .

Loe edasi: Kuidas kustutada ridu Excelis: 7 meetodit

Meetod-2: Mitme rea kustutamine VBA abil

Kui soovite kustutada mitu rida, näiteks ridu, mis sisaldavad Toode nimed Shoe1 , Kinga2, ja Shoe3 , siis võite järgida seda VBA kood.

Step-01 :

➤Follow Step-01 aadressilt Meetod-1

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

Siin kustutatakse rea numbrid 13, 10 ja 7 ning rea numbreid järjestikku kirjutades tuleb kirjutada viimasest rea numbrist kuni esimese rea numbrini nii nagu see kood.

Vastasel juhul pärast esimese rea, näiteks rea 7 kustutamist liiguvad ülejäänud read selle rea all ühe rea võrra ülespoole ja seega saab reast 10 rida 9 ja reast 13 rida 12. Sel põhjusel ei saa te õigeid ridu kustutada.

➤Press F5

Tulemus :

Seejärel kustutate read, mis sisaldavad Toode nimed Kinga 1 , Kinga2, ja Shoe3 .

Loe edasi: Kuidas kustutada mitu rida Excelis (3 meetodit)

Meetod-3: Rea kustutamine valiku abil

Siinkohal näitan, kuidas kustutada rida seoses selle rea aktiivse lahtriga.

Step-01 :

➤Follow Step-01 aadressilt Meetod-1

 Sub dltrow3() ActiveCell.EntireRow.Delete End Sub 

See kustutab rea, millel on aktiivne lahter.

➤Säästke kood.

Step-02 :

➤Valige ükskõik milline rea lahter, mille soovite kustutada ( Siin olen valinud lahtri B7 )

➤Sealt edasi Arendaja Tab>> Makros Valik

Pärast seda on Makro Võlur avaneb.

➤Valige Makro nimi dltrow3 ja vajutage Käivita

Tulemus :

Pärast seda kustutate rea, mis sisaldab Toode nimi Kinga 1 .

Meetod-4: Kõikide ridade kustutamine valikus

Valiku kõigi ridade kustutamiseks saate järgida seda meetodit.

Step-01 :

➤Follow Step-01 aadressilt Meetod-1

 Sub dltrow4() Selection.EntireRow.Delete End Sub 

See kustutab kõik valiku read.

➤Säästke kood.

Step-02 :

➤Valige rida, mida soovite kustutada (siin olen valinud vahemiku B7:D9 )

➤Sealt edasi Arendaja Tab>> Makros Valik

Pärast seda on Makro Võlur avaneb.

➤Valige Makro nimi dltrow4 ja vajutage Käivita

Tulemus :

Seejärel kustutate read, mis sisaldavad Toode nimed Kinga 1 , Jacket1, ja Jacket2 .

Loe edasi: Kuidas kustutada valitud read Excelis (8 lähenemist)

Meetod-5: Rea kustutamine, kui mõni lahter on tühi

Siin on mul tühi lahter, mis on B9 (ma olen selle meetodi jaoks eemaldanud selle lahtri väärtuse) ja kasutades VBA kood ma kustutan rea, millel on B9 rakk.

Step-01 :

➤Follow Step-01 aadressilt Meetod-1

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

See kustutab kõik read vahemikus "B5:D13" mis tahes tühja lahtri olemasolu.

➤Press F5

Tulemus :

Seejärel saate tühja lahtrit sisaldava rea kustutada.

Loe edasi: Kuidas eemaldada tühjad read Excelis (11 meetodit)

Meetod-6: Rea kustutamine, kui kogu rida on tühi

Siin on mul tühi lahter, mis on B9 (olen eemaldanud selle meetodi väärtused) ja tühja rea, mis on rida 12 (olen eemaldanud selle meetodi väärtused), ning kasutades meetodit VBA kood ja Funktsioon COUNTA Ma kustutan selle rea, mis on tühi.

Step-01 :

➤Follow Step-01 aadressilt Meetod-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" on andmete vahemik ja FOR tsükkel töötab iga lahtri puhul selles vahemikus.

CountA(cell.EntireRow) tagastab tühjade lahtrite arvu ja kui see muutub 0-ks, siis rida kustutatakse.

➤Press F5

Tulemus :

Pärast seda saate tühja rea kustutada, kuid see ei kustuta ühtegi rida, mille kõik lahtrid ei ole tühjad.

Loe edasi: Kuidas kasutada VBA-d tühjade ridade kustutamiseks Excelis

Meetod-7: Iga n-ndama rea kustutamine

Selle meetodi abil saate kustutada iga n-ndat rida (antud juhul iga 3. rida).

Step-01 :

➤Follow Step-01 aadressilt Meetod-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" on andmete vahemik ja rc tagastab selle vahemiku rea koguarvu, mis on 9 .

Siin on FOR tsükkel algab viimasest reast, mis on rc või 9 antud juhul ja lõpeb esimese reaga.

Samm -3 aitab kustutada iga Kolmas rida selles vahemikus.

➤Press F5

Tulemus :

Seejärel kustutate read, mis sisaldavad Toode nimed Kinga 1 , Kinga2, ja Shoe3 .

Loe edasi: Kuidas kustutada iga n-nda rea Excelis (kõige lihtsam 6 võimalust)

Sarnased lugemised:

  • Kuidas kustutada valitud read Exceli VBA-ga (samm-sammult juhised)
  • Kasutamata ridade kustutamine Excelis (8 lihtsat viisi)
  • Kuidas kustutada Exceli varjatud read (3 meetodit)
  • Lõpmatute ridade kustutamine Excelis (5 lihtsat viisi)
  • Kuidas kustutada Exceli ridu, mis lähevad igavesti (4 lihtsat viisi)

Meetod-8: Ridade kustutamine lahtri väärtuse alusel

Selles meetodis kustutan rea, millel on konkreetne väärtus Särk 2 .

Step-01 :

➤Follow Step-01 aadressilt Meetod-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" on andmete vahemik ja FOR tsükkel töötab iga lahtri puhul selles vahemikus.

Kui mõni rea lahter sisaldab väärtust "Särk 2" siis rida kustutatakse.

➤Press F5

Tulemus :

Sel viisil kustutatakse rida, mis sisaldab Toode nimi Särk 2 .

Loe edasi: VBA makro rea kustutamiseks, kui lahter sisaldab Exceli väärtust (2 meetodit)

Meetod-9: Dubleerivate ridade kustutamine

Siin on mul kaks rida, millel on Tootekood 97375 ja seega tahan ma kustutada ühe neist ridadest, mis on tähistatud allpool punase kastiga.

Step-01 :

➤Follow Step-01 aadressilt Meetod-1

 Sub dltrow9() Range("B5:D13").RemoveDuplicates Columns:=1 End Sub 

Siin, "B5:D13" on andmete vahemik ja Veerud:=1 tähendab, et see otsib dubleerivaid väärtusi ainult ühes veerus, mis on algussammas. Veerg B kuid kui soovite otsida ka teistes veergudes, võite kasutada seda numbrit vastavalt oma vajadustele.

➤Press F5

Tulemus :

Pärast seda saate kustutada rea, mis on sarnane teise reaga.

Loe edasi: Kuidas kustutada dubleerivaid ridu Excelis VBA-ga (8 tõhusat viisi)

Meetod-10: Ridade kustutamine tabelis

Oletame, et teil on järgmine tabel, mille nimi on Tabel1 ja nüüd soovite kustutada selle tabeli rea number 6. Selleks võite järgida järgmist meetodit.

Step-01 :

➤Follow Step-01 aadressilt Meetod-1

 Sub dltrow10() ActiveWorkbook.Worksheets("Table").ListObjects("Table1").ListRows(6).Delete End Sub 

Siin, "Tabel" on lehe nimi, "Tabel1" on tabeli nimi ja 6 on selle tabeli rea number, mida soovite kustutada.

➤Press F5

Tulemus :

Sel viisil kustutate soovitud rea sellest tabelist.

Loe edasi: Kuidas eemaldada dubleerivaid ridu ühe veeru põhjal, kasutades Exceli VBA-d

Meetod-11: Nähtavate ridade kustutamine pärast filtreerimist

Siin on mul andmetabel, mis on filtreeritud vastavalt Hind veergu väärtuste puhul, mis on suuremad kui $1,500.00 ja ma tahan pärast filtreerimist kustutada kõik nähtavad read.

Step-01 :

➤Follow Step-01 aadressilt Meetod-1

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

Siin, "B5:D13" on andmete vahemik.

➤Press F5

Nüüd kustutatakse kõik nähtavad read pärast filtreerimist. Nüüd saate varjatud read tagasi tuua, valides käsu Filter märk Hind veerus.

➤Click on Valige kõik valik

➤Press OK

Tulemus :

Lõpuks saate varjatud read tagasi andmetabelisse.

Loe edasi: Kuidas filtreerida ja kustutada ridu VBAga Excelis (2 meetodit)

Meetod-12: Ridade kustutamine viimase aktiivse lahtri alusel

Siin on minu viimane aktiivne lahter lahter B13 ja ma tahan kustutada selle, millel on viimane aktiivne lahter järgmises andmetabelis.

Step-01 :

➤Follow Step-01 aadressilt Meetod-1

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

Siin, 2 tähendab Veerg B millel on minu aktiivne rakk, võite muuta numbrit vastavalt oma vajadustele.

➤Press F5

Tulemus :

Sel viisil kustutate oma viimase aktiivse rea.

Loe edasi: Exceli VBA-kood ridade kustutamiseks mitme lahtri väärtuse alusel (3 kriteeriumi)

Meetod-13: Stringe sisaldavate ridade kustutamine

Oletame, et soovite kustutada read, millel on mis tahes string, ja selleks saate järgida seda meetodit.

Step-01 :

➤Follow Step-01 aadressilt Meetod-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 

Siin, "string" on lehe nimi, selle andmevahemiku esimese rea number on 5 ja algussammaste number on 2

The Koos avaldis võimaldab teil määrata objekti või kasutaja määratud tüübi üks kord kogu avaldiste seeria jaoks.

Vea korral Jätka järgmist avaldis määrab, et tööaja vea ilmnemisel läheb kontroll avaldisele, mis järgneb avaldisele, kus viga ilmneb.

LastRow ja LastColumn tagastab andmevahemiku viimase rea ja veeru.

SpecialCells(xlCellTypeConstants, xlTextValues) valib read, millel on mis tahes tekstiväärtused vahemikus.

➤Press F5

Tulemus :

Pärast seda kustutate read, millel on mis tahes tekstirida.

Loe edasi: Exceli otsetee ridade kustutamiseks (koos boonustehnikatega)

Meetod-14: Ridade kustutamine kuupäevade alusel

Siinkohal kustutan erikuupäeva omavad read 11/12/2021 (mm/dd/yyyy) selles meetodis, kasutades selleks DATEVALUE funktsioon .

Step-01 :

➤Follow Step-01 aadressilt Meetod-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 

Siin, "Kuupäev" on lehe nimi, selle andmevahemiku esimese rea number on 5 ja kriteeriumide veeru (mis veerus on kuupäevad) number on 3 .

The Koos avaldis võimaldab teil määrata objekti või kasutaja määratud tüübi üks kord kogu avaldiste seeria jaoks.

Vea korral Jätka järgmist avaldis määrab, et tööaja vea ilmnemisel läheb kontroll avaldisele, mis järgneb avaldisele, kus viga ilmneb.

LastRow tagastab andmevahemiku viimase rea ja siinkohal on FOR tsükkel algab viimasest reast, mis on LastRow või 6 ja lõpeb esimese reaga.

DATEVALUE teisendab teksti kuupäeva väärtuseks.

Siin, Liit tagastab mitme vahemiku liidu, mis vastab lahtritele, millel on kuupäev. 11/12/2021 ja lõpuks vahemikud kustutatakse.

➤Press F5

Tulemus :

Pärast seda kustutatakse read, millel on teatud kuupäevaga 11/12/2021 .

Seotud sisu: Excel VBA konkreetsete andmetega ridade kustutamiseks (9 näidet)

Praktika sektsioon

Selleks, et ise harjutada, on meil olemas Praktika lõik nagu allpool lehel nimega Praktika Palun tehke seda ise.

Kokkuvõte

Selles artiklis püüdsin katta kõige lihtsamaid viise, kuidas kasutada VBA tõhusalt ridade kustutamiseks. Loodan, et see on teile kasulik. Kui teil on ettepanekuid või küsimusi, jagage neid julgelt kommentaaride sektsioonis.

Hugh West on suurte kogemustega Exceli koolitaja ja analüütik, kellel on selles valdkonnas üle 10-aastane kogemus. Tal on raamatupidamise ja rahanduse bakalaureusekraad ning ärijuhtimise magistrikraad. Hugh’l on kirg õpetamise vastu ning ta on välja töötanud ainulaadse õpetamisviisi, mida on lihtne järgida ja mõista. Tema Exceli ekspertteadmised on aidanud tuhandetel õpilastel ja spetsialistidel üle maailma oma oskusi parandada ja karjääris silma paista. Oma ajaveebi kaudu jagab Hugh oma teadmisi maailmaga, pakkudes tasuta Exceli õpetusi ja veebikoolitusi, mis aitavad üksikisikutel ja ettevõtetel oma potentsiaali täielikult ära kasutada.