Satura rādītājs
Ja meklējat dažus no vienkāršākajiem veidiem, kā dzēst rindu, izmantojot VBA , tad esat īstajā vietā.
Ļaujiet ienirt galvenajā rakstā.
Lejupielādēt darbgrāmatu
VBA Dzēst rindu.xlsm14 veidi, kā dzēst rindu, izmantojot VBA
Šeit man ir trīs datu tabulas, lai parādītu, kā dzēst rindas, izmantojot VBA . Pirmajā tabulā ir dažas Produkti uzņēmuma un to Izmēri , Cenas .
Otrajā ir daži Produktu kodi un to atbilstošie Produktu izmēri un Cenas
Un pēdējā no tiem ir daži Projektu nosaukumi un to attiecīgie Sākuma datumi un Izmaksas .
Lai izveidotu rakstu, esmu izmantojis Microsoft Excel 365 versiju, varat izmantot jebkuru citu versiju atbilstoši savām vajadzībām.
1. metode: vienas rindas dzēšana, izmantojot VBA
Pieņemsim, ka vēlaties dzēst rindu, kurā ir Produkts 1 apavi, un lai dzēstu šo vienu rindu, varat izmantot šo metodi.
Solis-01 :
➤Iet uz Izstrādātājs Cilne>> Visual Basic Iespēja
Tad Visual Basic redaktors atvērsies.
➤Iet uz Ievietot Cilne>> Modulis Iespēja
Pēc tam Modulis tiks izveidots.
Solis-02 :
➤Uzdodiet šādu kodu
Sub dltrow1() Darblapas("Single").Rows(7).EntireRow.Delete End Sub
Šeit, "Single" ir darblapas nosaukums, un Rindas (7) atlasīs rindas numuru.
.EntireRow.Delete izdzēsīs visu rindu 7.
➤Press F5
Rezultāts :
Šādā veidā dzēsīsiet rindu, kurā ir Produkts nosaukums Apavi 1 .
Lasīt vairāk: Kā dzēst rindas programmā Excel: 7 metodes
2. metode: Vairāku rindu dzēšana, izmantojot VBA
Ja vēlaties dzēst vairākas rindas, piemēram, rindas ar Produkts vārdi Apavi1 , Apavi2, un Apavi3 , tad varat sekot šim VBA kods.
Solis-01 :
➤ Sekot Solis-01 no 1. metode
Sub dltrow2() Rows(13).EntireRow.Delete Rows(10).EntireRow.Delete Rows(7).EntireRow.Delete End Sub
Šeit tiks dzēsti rindas numuri 13, 10 un 7, un, rakstot rindas numurus pēc kārtas, ir jāraksta no pēdējās rindas numura līdz pirmās rindas numuram, piemēram, šāds kods.
Pretējā gadījumā pēc pirmās rindas, piemēram, 7. rindas, dzēšanas pārējās rindas zem šīs rindas pārvietosies par vienu rindu uz augšu, tādējādi 10. rinda būs 9. rinda, bet 13. rinda būs 12. rinda. Šī iemesla dēļ nevarēsiet dzēst pareizās rindas.
➤Press F5
Rezultāts :
Pēc tam dzēsīsiet rindas, kurās ir Produkts vārdi Apavi 1 , Apavi2, un Apavi3 .
Lasīt vairāk: Kā dzēst vairākas rindas programmā Excel (3 metodes)
3. metode: rindas dzēšana, izvēloties
Šeit es parādīšu veidu, kā dzēst rindu attiecībā uz šīs rindas aktīvo šūnu.
Solis-01 :
➤ Sekot Solis-01 no 1. metode
Sub dltrow3() ActiveCell.EntireRow.Delete End Sub
Tā dzēsīs rindu, kurā ir aktīva šūna.
➤Kodu saglabājiet.
Solis-02 :
➤Izvēlieties jebkuru rindas šūnu, kuru vēlaties dzēst ( Šeit es esmu izvēlējies šūnu B7 )
➤Iet uz Izstrādātājs Cilne>> Makroprocesori Iespēja
Pēc tam Makro Atvērsies vednis.
➤Izvēlieties Makro nosaukums dltrow3 un nospiediet Palaist
Rezultāts :
Pēc tam dzēsīsiet rindu, kurā ir Produkts nosaukums Apavi 1 .
4. metode: visu atlases rindu dzēšana
Lai dzēstu visas atlases rindas, varat izmantot šo metodi.
Solis-01 :
➤ Sekot Solis-01 no 1. metode
Sub dltrow4() Selection.EntireRow.Delete End Sub
Tas dzēsīs visas atlases rindas.
➤Kodu saglabājiet.
Solis-02 :
➤Izvēlieties rindu diapazonu, kuru vēlaties dzēst (šeit es esmu izvēlējies diapazonu B7:D9 )
➤Iet uz Izstrādātājs Cilne>> Makroprocesori Iespēja
Pēc tam Makro Atvērsies vednis.
➤Izvēlieties Makro nosaukums dltrow4 un nospiediet Palaist
Rezultāts :
Pēc tam dzēsīsiet rindas, kurās ir Produkts vārdi Apavi 1 , Jaka1, un Jaka2 .
Lasīt vairāk: Kā dzēst atlasītās rindas programmā Excel (8 pieejas)
5. metode: rindas dzēšana, ja kāda šūna ir tukša
Šeit man ir tukša šūna, kas ir B9 (šai metodei esmu noņēmis vērtību no šīs šūnas), un, izmantojot a VBA kods Es dzēšu rindu, kurā ir B9 šūna.
Solis-01 :
➤ Sekot Solis-01 no 1. metode
Sub dltrow5() Range("B5:D13").SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub
Tiks dzēstas visas rindas diapazonā "B5:D13" ar jebkuru tukšu šūnu.
➤Press F5
Rezultāts :
Pēc tam varēsiet dzēst rindu, kurā ir tukšā šūna.
Lasīt vairāk: Kā noņemt tukšās rindas programmā Excel (11 metodes)
6. metode: rindas dzēšana, ja visa rinda ir tukša
Šeit man ir tukša šūna, kas ir B9 (esmu izdzēsis šīs metodes vērtības), un tukša rinda ir 12. rinda (esmu izdzēsis šīs metodes vērtības), un, izmantojot a VBA kods un COUNTA funkcija Es dzēšu tukšo rindu.
Solis-01 :
➤ Sekot Solis-01 no 1. metode
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" ir datu diapazons un PAR cilpa darbosies katrai šūnas šādā diapazonā.
CountA(cell.EntireRow) tiks atgriezts to šūnu skaits, kas nav tukšas, un, kad tas būs 0, rinda tiks dzēsta.
➤Press F5
Rezultāts :
Pēc tam varēsiet izdzēst tukšo rindu, taču netiks izdzēsta neviena rinda, kurā visas šīs rindas šūnas nebūs tukšas.
Lasīt vairāk: Kā lietot VBA, lai dzēstu tukšas rindas programmā Excel
7. metode: Katras n-tās rindas dzēšana
Izmantojot šo metodi, varat dzēst katru n-to rindu (šajā gadījumā katru 3. rindu).
Solis-01 :
➤ Sekot Solis-01 no 1. metode
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" ir datu diapazons un rc atgriezīs kopējo rindu skaitu šajā diapazonā, kas ir 9 .
Šajā gadījumā PAR cilpa sāksies no pēdējās rindas, kas ir rc vai 9 šajā gadījumā un beidzas ar pirmo rindu.
-3. solis palīdzēs dzēst katru 3. rindu šajā diapazonā.
➤Press F5
Rezultāts :
Pēc tam dzēsīsiet rindas, kurās ir Produkts vārdi Apavi 1 , Apavi2, un Apavi3 .
Lasīt vairāk: Kā dzēst katru n-to rindu programmā Excel (vienkāršākie 6 veidi)
Līdzīgi lasījumi:
- Kā dzēst atlasītās rindas ar Excel VBA (soli pa solim)
- Neizmantoto rindu dzēšana programmā Excel (8 vienkārši veidi)
- Kā dzēst slēptās rindas programmā Excel (3 metodes)
- Bezgalīgu rindu dzēšana programmā Excel (5 vienkārši veidi)
- Kā programmā Excel dzēst rindas, kas turpinās mūžīgi (4 vienkārši veidi)
8. metode: rindu dzēšana, pamatojoties uz šūnas vērtību
Izmantojot šo metodi, es dzēšu rindu ar noteiktu vērtību. Krekls 2 .
Solis-01 :
➤ Sekot Solis-01 no 1. metode
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 End Sub
"B5:D13" ir datu diapazons un PAR cilpa darbosies katrai šūnas šādā diapazonā.
Ja jebkurā rindas šūnā ir vērtība "Krekls 2" tad rinda tiks dzēsta.
➤Press F5
Rezultāts :
Šādā veidā dzēsīsiet rindu, kurā ir Produkts nosaukums Krekls 2 .
Lasīt vairāk: VBA makro programma, lai dzēstu rindu, ja Excel šūnā ir vērtība (2 metodes)
9. metode: Dublikātu rindu dzēšana
Šeit man ir divas rindas ar Produkta kods 97375 un es gribu dzēst vienu no šīm rindām, kas turpmāk ir atzīmētas ar sarkanu lodziņu.
Solis-01 :
➤ Sekot Solis-01 no 1. metode
Sub dltrow9() Range("B5:D13").RemoveDuplicates Columns:=1 End Sub
Šeit, "B5:D13" ir datu diapazons un Kolonnas:=1 tas nozīmē, ka vērtības tiks meklētas tikai vienā sākumstilpē, kas ir sākuma sleja. B sleja bet, ja vēlaties meklēt arī citās slejās, varat izmantot šo numuru atbilstoši savām vajadzībām.
➤Press F5
Rezultāts :
Pēc tam varēsiet dzēst rindu, kas ir līdzīga citai rindai.
Lasīt vairāk: Kā dzēst dublētās rindas programmā Excel, izmantojot VBA (8 efektīvi veidi)
10. metode: Tabulas rindu dzēšana
Pieņemsim, ka jums ir šāda tabula, kuras nosaukums ir tabula1 un tagad vēlaties izdzēst šīs tabulas 6. rindu. Lai to izdarītu, varat izmantot šo metodi.
Solis-01 :
➤ Sekot Solis-01 no 1. metode
Sub dltrow10() ActiveWorkbook.Worksheets("Table").ListObjects("Table1").ListRows(6).Delete End Sub
Šeit, "Tabula" ir lapas nosaukums, "Tabula1" ir tabulas nosaukums un 6 ir šīs tabulas rindas numurs, kuru vēlaties dzēst.
➤Press F5
Rezultāts :
Šādā veidā dzēsīsiet vēlamo šīs tabulas rindu.
Lasīt vairāk: Kā noņemt dublējošās rindas, pamatojoties uz vienu kolonnu, izmantojot Excel VBA
11. metode: Redzamo rindu dzēšana pēc filtrēšanas
Šeit man ir datu tabula, kas ir filtrēta pēc Cena slejā vērtībām, kas ir lielākas par $1,500.00 un pēc filtrēšanas vēlos dzēst visas redzamās rindas.
Solis-01 :
➤ Sekot Solis-01 no 1. metode
Sub dltrow11() Range("B5:D13").SpecialCells(xlCellTypeVisible).EntireRow.Delete End Sub
Šeit, "B5:D13" ir datu diapazons.
➤Press F5
Tagad visas redzamās rindas pēc filtrēšanas tiks dzēstas. Tagad varat atgriezt atpakaļ slēptās rindas, izvēloties Filtrs zīme Cena sleja.
➤Noklikšķiniet uz Atlasiet visus iespēja
➤Press LABI
Rezultāts :
Visbeidzot, datu tabulā tiks atgrieztas slēptās rindas.
Lasīt vairāk: Kā filtrēt un dzēst rindas ar VBA programmā Excel (2 metodes)
12. metode: rindas dzēšana, pamatojoties uz pēdējo aktīvo šūnu
Šeit mana pēdējā aktīvā šūna ir šūna B13 un es gribu dzēst šo, kam ir pēdējā aktīvā šūna nākamajā datu tabulā.
Solis-01 :
➤ Sekot Solis-01 no 1. metode
Sub dltrow12() Cells(Rows.Count, 2).End(xlUp).EntireRow.Delete End Sub
Šeit, 2 nozīmē B sleja kurā ir mana aktīvā šūna, varat mainīt numuru atbilstoši savām vajadzībām.
➤Press F5
Rezultāts :
Šādā veidā tiks dzēsta pēdējā aktīvā rinda.
Lasīt vairāk: Excel VBA kods rindu dzēšanai, pamatojoties uz vairāku šūnu vērtību (3 kritēriji)
13. metode: rindu, kurās ir jebkuras virknes, dzēšana
Pieņemsim, ka vēlaties izdzēst rindas ar jebkuru virkni, un lai to izdarītu, varat izmantot šo metodi.
Solis-01 :
➤ Sekot Solis-01 no 1. metode
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),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
Šeit, "string" ir lapas nosaukums, šā datu diapazona pirmās rindas numurs ir 5 un sākuma kolonnas numurs ir 2
Portāls Ar izteikums ļauj vienreiz norādīt objektu vai lietotāja definētu tipu visai izteikumu sērijai.
Kļūdas gadījumā atsākt Nākamais paziņojums nosaka, ka, ja rodas izpildes laika kļūda, vadība tiek nodota paziņojumam, kas seko paziņojumam, kurā radusies kļūda.
LastRow un LastColumn atdod datu diapazona pēdējo rindu un kolonnu.
Īpašās šūnas(xlCellTypeConstants, xlTextValues) atlasīs rindas, kurās ir jebkuras teksta vērtības diapazonā.
➤Press F5
Rezultāts :
Pēc tam dzēsīsiet rindas, kurās ir teksta virkne.
Lasīt vairāk: Excel saīsnes rindu dzēšanai (ar bonusa tehnikām)
14. metode: rindu dzēšana, pamatojoties uz datumiem
Šeit es dzēšu rindas, kurām ir īpašs datums. 11/12/2021 (mm/dd/gggggg) šajā metodē, izmantojot DATEVALUE funkcija .
Solis-01 :
➤ Sekot Solis-01 no 1. metode
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
Šeit, "Datums" ir lapas nosaukums, šā datu diapazona pirmās rindas numurs ir 5 un kritēriju kolonnas (kurā kolonnā ir datumi) numurs ir 3 .
Portāls Ar izteikums ļauj vienreiz norādīt objektu vai lietotāja definētu tipu visai izteikumu sērijai.
Kļūdas gadījumā atsākt Nākamais paziņojums nosaka, ka, ja rodas izpildes laika kļūda, vadība tiek nodota paziņojumam, kas seko paziņojumam, kurā radusies kļūda.
LastRow atgriež datu diapazona pēdējo rindu, un šajā gadījumā PAR cilpa sāksies no pēdējās rindas, kas ir LastRow vai 6 šajā gadījumā un beidzas ar pirmo rindu.
DATEVALUE konvertēs teksta datumu vērtībā.
Šeit, Union atgriezīs vairāku diapazonu apvienojumu, kas atbilst šūnām ar datumu. 11/12/2021 , un visbeidzot diapazoni tiks dzēsti.
➤Press F5
Rezultāts :
Pēc tam dzēsīsit rindas, kurām ir noteikts datums. 11/12/2021 .
Saistīts saturs: Excel VBA, lai dzēstu rindas ar konkrētiem datiem (9 piemēri)
Prakses sadaļa
Prakses veikšanai mēs esam nodrošinājuši Prakse sadaļu, piemēram, zemāk lapā ar nosaukumu Prakse . Lūdzu, dariet to pats.
Secinājums
Šajā rakstā es centos aprakstīt vienkāršākos veidus, kā izmantot VBA efektīvi dzēst rindas. Ceru, ka jums tas būs noderīgi. Ja jums ir kādi ieteikumi vai jautājumi, nekautrējieties dalīties ar tiem komentāru sadaļā.