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

Satura rādītājs

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 darblapa, lai dzēstu visas rindas kopā, triks tas ir tas, ka, ja mums ir jāizdzēš viena rinda, mēs piešķiram 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 un mēs varam dzēst rindu, pamatojoties uz šūnu vērtību. Mēs varam arī izdzēst 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?

1. piemērs

VBA mums jāpiemin rinda, kuru mēs dzēš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.Delete End Sub

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

Tagad, ja es palaidīšu šo kodu, tas 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 rekvizītu 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ēš. Teiksim mums ir nepieciešams, lai dzēstu 5 th rindu.

Tagad izmantojiet īpašumu “EntireRow”.

Pēc rekvizīta izvēles, kas mums jādara, ti, metode. Mums ir jāizdzēš rinda.

Kods:

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

Tātad, šis kods būs izdzēst 5 th rindu.

4. piemērs

Dzēsiet 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.Delete End Sub

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

5. piemērs

Delete Rows Based On Cell Value

We can also use this “EntireRow.Delete” method to delete the row based on cell value in VBA. For example, I have Yes & No values from cell A1 to A10.

Now we need to delete the rows which have the value “No.” To perform this task, we need to use the function “IF” with loops to delete all the rows which have the value of “No.”

The below code will do the job for us.

Code:

Sub DeleteRow_Example5() Dim k As Integer For k = 10 To 1 Step -1 If Cells(k, 1).Value = "No" Then Cells(k, 1).EntireRow.Delete End If Next k End Sub

Example #6

Delete All the Blank Cells Rows

There are situations where we need to delete the entire row if any of the cells in the range are blank. For example, I have below set of data.

All the colored cells are blank, so I need to delete the entire row. We can perform this task with two sets of code. Below is the code.

Code:

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

This will identify the blank cells in the range A1 to F10.IF any blank cells are found, they will delete the entire row.

The problem with this code is it will only delete the blank cell’s row only in the range A1 to F10, but if any cells are blank in any other cells, it will not delete. So keeping this in mind, I have written one more code.

Code:

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šdaļu

Kad palaižat šo kodu, vispirms 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ā.

Interesanti raksti...