VBA Delete Rows - Exemple de ștergere a rândurilor Excel folosind VBA

Excel VBA Delete Row

În mod normal, în foaia de lucru Excel, avem două metode diferite pentru a șterge rândurile, unul fiind comanda rapidă de la tastatură și altul folosind metoda clic dreapta și inserare, dar în VBA trebuie să folosim comanda șterge și instrucțiunea foii de lucru pentru a șterge toate rândurile împreună, trucul pentru aceasta este că, dacă trebuie să ștergem un singur rând, vom da o singură referință de rând, dar pentru mai multe coloane, vom da mai multe referințe de rând.

Folosind metoda VBA Delete Row, putem șterge toate rândurile goale și putem șterge rândul pe baza valorii celulei. De asemenea, putem șterge întregul rând dacă oricare dintre celule este necompletată.

În acest articol, vom discuta despre metoda „VBA Delete Row”. Păstrați-vă ocupat pentru următoarele 15 - 20 de minute pentru a afla mai multe despre concept.

Cum se șterge rândul?

Exemplul nr. 1

În VBA, trebuie să menționăm rândul pe care îl ștergem.

Cod:

Sub DeleteRow_Example1 () Celule (1, 1) End Sub

Celulele (1, 1) înseamnă prima coloană din primul rând, adică celula A1. Apoi folosim metoda „șterge”.

Cod:

Sub DeleteRow_Example1 () Celule (1, 1). Ștergeți End Sub

Acum se va șterge prima celulă. Toate valorile din partea dreaptă vor deplasa o celulă spre stânga.

Exemplul nr. 2

Dacă doriți să ștergeți întregul rând, trebuie să utilizăm proprietatea „EntireRow”, apoi trebuie să folosim metoda „ștergeți” pentru a șterge întregul rând al celulei pe care am selectat-o.

Cod:

Sub DeleteRow_Example2 () Celule (1, 1) .EntireRow.Elete End Sub

De exemplu, am introdus câteva caractere într-o foaie Excel după cum urmează.

Acum, dacă rulez acest cod, acesta va șterge întregul rând, nu o singură celulă.

Exemplul nr. 3

Putem șterge rândul utilizând mai multe moduri. În exemplul de mai sus, am șters rândul utilizând proprietatea CELLS. Acum vom vedea cum să ștergeți folosind proprietatea ROWS.

Acum trebuie să menționăm care este rândul pe care trebuie să îl ștergem. Să presupunem că trebuie să ștergem al 5- lea rând.

Acum utilizați proprietatea „EntireRow”.

După selectarea proprietății, ce trebuie să facem, adică metoda. Trebuie să ștergem rândul.

Cod:

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

Deci, acest cod va șterge al 5- lea rând.

Exemplul # 4

Ștergeți mai multe rânduri utilizând Range Object

Cum ștergem mai multe rânduri?

Putem folosi obiectul VBA RANGE pentru a șterge mai multe rânduri. Să presupunem că aveți câteva valori de la celule A1 la A6.

Acum vreau să șterg primele 5 rânduri, așa că pot face referire la aceste rânduri folosind obiectul Range ca „Range („ A1: A5 ”)”

Cod:

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

Acum vreau să folosesc cuvântul „EntireRow” proprietate.

Cod:

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

În acest întreg rând, trebuie să efectuăm metoda de ștergere, așa că utilizați metoda Ștergere.

Cod:

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

Acum, acest lucru va șterge rândurile selectate.

Exemplul nr. 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 ("Vă rugăm să selectați intervalul", "Blank Cells Rows Deletion", Tastați: = 8) Set DeletionRange = RangeToDelete RangeToDelete.SpecialCells (xlCowTell). . Șterge End Sub

Când rulați acest cod, în primul rând, acesta vă va cere să selectați intervalul cu o casetă de intrare care apare în fața dvs.

După selectarea intervalului, trebuie să faceți clic pe OK. Se vor șterge toate rândurile de celule goale din intervalul selectat.

Articole interesante...