VBA Slett rader - Eksempler på sletting av Excel-rader ved bruk av VBA

Innholdsfortegnelse

Excel VBA Slett rad

Normalt i Excel-regneark har vi to forskjellige metoder for å slette rader, den ene er hurtigtasten, og en annen ved å bruke høyreklikk og sett inn metoden, men i VBA må vi bruke delete-kommandoen og regnearkutsagnet for å slette alle rader sammen, kunsten å Dette er at hvis vi trenger å slette en enkelt rad, gir vi en enkeltradreferanse, men for flere kolonner gir vi flere radreferanser.

Ved å bruke VBA Delete Row Method kan vi slette alle de tomme radene, og vi kan slette raden basert på celleverdi. Vi kan også slette hele raden hvis noen av cellene er tomme.

I denne artikkelen vil vi diskutere metoden "VBA Delete Row." Hold deg opptatt de neste 15 til 20 minuttene for å lære om konseptet.

Hvordan slette rad?

Eksempel 1

I VBA må vi nevne raden vi sletter.

Kode:

Sub DeleteRow_Example1 () Celler (1, 1) End Sub

Celler (1, 1) betyr første rad første kolonne, dvs. A1-celle. Deretter bruker vi metoden "slett".

Kode:

Sub DeleteRow_Example1 () Celler (1, 1). Slett End Sub

Nå vil dette slette den første cellen. Alle høyre sideverdier vil skifte en celle til venstre.

Eksempel 2

Hvis du vil slette hele raden, må vi bruke egenskapen "EntireRow", så må vi bruke metoden "slett" for å slette hele raden i cellen vi har valgt.

Kode:

Sub DeleteRow_Example2 () celler (1, 1) .EntireRow. Slett slutt sub

For eksempel har jeg lagt inn noen få tegn i et excel-ark som følger.

Nå, hvis jeg kjører denne koden, vil den slette hele raden, ikke en eneste celle.

Eksempel 3

Vi kan slette raden på flere måter. I eksemplet ovenfor har vi slettet raden ved å bruke CELLS-egenskapen. Nå skal vi se hvordan du sletter ved å bruke ROWS-egenskapen.

Nå må vi nevne hva som er raden vi trenger å slette. La oss si at vi må slette 5 th rad.

Bruk nå eiendommen “EntireRow” -egenskapen.

Etter å ha valgt eiendommen, hva vi trenger å gjøre, dvs. metode. Vi må slette raden.

Kode:

Sub DeleteRow_Example3 () Rader (5) .EntireRow. Slett End Sub

Så denne koden vil slette den femte raden.

Eksempel 4

Slett flere rader ved å bruke Range Object

Hvordan sletter vi flere rader?

Vi kan bruke VBA RANGE-objektet til å slette mer enn én rad. Anta at du har noen verdier fra A1 til A6-celler.

Nå vil jeg slette de første 5 radene, så jeg kan referere til disse radene ved å bruke Range-objektet som "Range (" A1: A5 ")"

Kode:

Sub DeleteRow_Example4 () Range ("A1: A5") End Sub

Nå vil jeg bruke ordet “EntireRow” -egenskap.

Kode:

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

I hele denne raden må vi utføre metoden for å slette, så bruk Slett-metoden.

Kode:

Sub DeleteRow_Example4 () Range ("A1: A5"). EntireRow. Slett End Sub

Nå vil dette slette de valgte radene.

Eksempel 5

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 ("Please select the range", "Blank Cells Rows Deletion", Type: = 8) Set DeletionRange = RangeToDelete RangeToDelete.SpecialCells (xlCellType. Slett slutt sub

Når du kjører denne koden, vil den for det første be deg om å velge området med en inndataboks som vises foran deg.

Når du har valgt området, må du klikke på OK. Det vil slette alle de tomme cellelinjene i det valgte området.

Interessante artikler...