VBA dzēst rindas | Piemēri, kā izdzēst Excel rindas, izmantojot VBA

Excel VBA dzēst rindu

Parasti Excel darblapā mums ir divas dažādas metodes, lai dzēstu rindas, no kurām viena ir tastatūras saīsne, bet otra - ar peles labo pogu noklikšķiniet un ievietojiet metodi, bet VBA mums ir jāizmanto komanda komandai un darblapai, lai dzēstu visas rindas kopā, triks tas ir tas, ka, ja mums ir jāizdzēš viena rinda, mēs sniedzam vienas rindas atsauci, bet vairākām kolonnām mēs sniedzam vairākas atsauces.

Izmantojot VBA Delete Row Method, mēs varam izdzēst visas tukšās rindas, mēs varam izdzēst rindu, pamatojoties uz šūnu vērtību, mēs varam izdzēst arī visu rindu, ja kāda no šūnām ir tukša.

Šajā rakstā mēs apspriedīsim metodi “VBA Delete Row”. Turpiniet sevi aizņemt nākamās 15 līdz 20 minūtes, lai uzzinātu par šo jēdzienu.

Kā izdzēst rindu?

Šo VBA Delete Row Excel veidni varat lejupielādēt šeit - VBA Delete Row Excel Template

1. piemērs

VBA mums jāpiemin rinda, kuru mēs izdzēšam.

Kods:

 Sub DeleteRow_Example1 () Šūnas (1, 1) Beigas Sub 

Šūnas (1, 1) nozīmē pirmās rindas pirmo kolonnu, ti, A1 šūnu. Tad mēs izmantojam metodi “dzēst”.

Kods:

 Sub DeleteRow_Example1 () šūnas (1, 1). Dzēst End Sub 

Tagad tas izdzēsīs pirmo šūnu. Visas labās puses vērtības vienu šūnu novirzīs pa kreisi.

2. piemērs

Ja vēlaties izdzēst visu rindu, mums jāizmanto rekvizīts “EntireRow”, tad jāizmanto metode “dzēst”, lai izdzēstu visu atlasītās šūnas rindu.

Kods:

Sub DeleteRow_Example2 () šūnas (1, 1) .EntireRow. Dzēst beigu apakšdaļu

Piemēram, es esmu ierakstījis dažas rakstzīmes Excel lapā šādi.

Tagad, ja es palaidīšu šo kodu, tā izdzēsīs visu rindu, nevis vienu šūnu.

3. piemērs

Mēs varam izdzēst rindu, izmantojot vairākus veidus. Iepriekš minētajā piemērā mēs esam izdzēsuši rindu, izmantojot īpašumu CELLS. Tagad mēs redzēsim, kā izdzēst, izmantojot īpašumu ROWS.

Tagad mums jāpiemin, kāda ir rinda, kas mums jāizdzēš, pieņemsim, ka mums ir jāizdzēš 5. rinda.

Tagad izmantojiet īpašumu “EntireRow”.

Pēc īpašuma izvēles mums jādara, ti, metode. Mums ir jāizdzēš rinda.

Kods:

 Sub DeleteRow_Example3 () Rindas (5) .EntireRow.Delete End Sub 

Tātad, šis kods izdzēsīs 5. rindu.

4. piemērs

Dzēst vairākas rindas, izmantojot diapazona objektu

Kā izdzēst vairākas rindas?

Mēs varam izmantot objektu VBA RANGE, lai izdzēstu vairākas rindas. Pieņemsim, ka jums ir dažas vērtības no A1 līdz A6 šūnām.

Tagad es vēlos izdzēst pirmās 5 rindas, tāpēc es varu atsaukties uz šīm rindām, izmantojot objektu Range kā “Range (“ A1: A5 ”)”

Kods:

 Sub DeleteRow_Example4 () diapazons ("A1: A5") Beigas Sub 

Tagad es vēlos izmantot vārdu “EntireRow”.

Kods:

 Sub DeleteRow_Example4 () diapazons ("A1: A5"). EntireRow End Sub 

Šajā visā rindā mums jāveic dzēšanas metode, tāpēc izmantojiet metodi Dzēst.

Kods:

 Sub DeleteRow_Example4 () diapazons ("A1: A5"). EntireRow .Dzēst beigu apakšdaļu 

Tagad tas izdzēsīs atlasītās rindas.

5. piemērs

Dzēst rindas, pamatojoties uz šūnas vērtību

Mēs varam arī izmantot šo metodi “EntireRow.Delete”, lai izdzēstu rindu, pamatojoties uz šūnas vērtību VBA. Piemēram, man ir Jā un Nē vērtības no šūnas A1 līdz A10.

Tagad mums ir jāizdzēš rindas, kurām ir vērtība “Nē”. Lai veiktu šo uzdevumu, mums jāizmanto funkcija “IF” ar cilpām, lai izdzēstu visas rindas, kuru vērtība ir “Nē”.

Zemāk esošais kods padarīs darbu mūsu vietā.

Kods:

 Sub DeleteRow_Example5 () Dim k kā veselais skaitlis k = 10 līdz 1 Solis -1, ja šūnas (k, 1). Vērtība = "Nē", tad šūnas (k, 1). EntelRow.Delete Beigt, ja Nākamais k Beigas Sub 

6. piemērs

Dzēst visas tukšo šūnu rindas

Ir situācijas, kad mums ir jāizdzēš visa rinda, ja kāda no diapazona šūnām ir tukša. Piemēram, man ir zemāk datu kopa.

Visas krāsainās šūnas ir tukšas, tāpēc man ir jāizdzēš visa rinda. Šo uzdevumu mēs varam veikt ar diviem kodu komplektiem. Zemāk ir kods.

Kods:

 Sub DeleteRow_Example6 () diapazons ("A1: F10"). SpecialCells (xlCellTypeBlanks) .EntireRow.Delete End Sub 

Tas identificēs tukšās šūnas diapazonā no A1 līdz F10. Ja visas atrastās tukšās šūnas izdzēsīs visu rindu.

Šī koda problēma ir tā, ka tukšās šūnas rinda tiks izdzēsta tikai diapazonā no A1 līdz F10, bet, ja kāda šūna ir tukša kādā citā šūnā, tā netiks dzēsta. Tāpēc paturot to prātā, esmu uzrakstījis vēl vienu kodu.

Kods:

 Sub DeleteRow_Example7 () Dim RangeToDelete As Range Dim DeletionRange As Range Set RangeToDelete = Application.InputBox ("Lūdzu, atlasiet diapazonu", "Blanku šūnu rindu dzēšana", Tips: = 8) Iestatiet DeletionRange = RangeToDelete RangeToDelete.SpecialCells (xlCellTyElect). .Dzēst beigu apakšnodaļu 

Pirmkārt, palaižot šo kodu, jums tiks lūgts atlasīt diapazonu ar ievades lodziņu, kas parādās jūsu priekšā.

Pēc diapazona izvēles jums jānoklikšķina uz Labi, tas izdzēsīs visas tukšās šūnu rindas atlasītajā diapazonā.


$config[zx-auto] not found$config[zx-overlay] not found