VBA Odstranit řádky - Příklady odstranění řádků aplikace Excel pomocí VBA

Excel VBA Odstranit řádek

Normálně v listu aplikace Excel máme dvě různé metody k odstranění řádků, z nichž jedna je klávesová zkratka a druhá pomocí metody kliknutí pravým tlačítkem a vložení, ale ve VBA musíme použít příkaz delete a příkaz listu k odstranění všech řádků dohromady, trik to je, že pokud potřebujeme odstranit jeden řádek, dáme odkaz na jeden řádek, ale pro více sloupců dáme více odkazů na řádek.

Pomocí metody VBA Delete Row můžeme odstranit všechny prázdné řádky a můžeme odstranit řádek na základě hodnoty buňky. Můžeme také odstranit celý řádek, pokud jsou některé buňky prázdné.

V tomto článku se budeme zabývat metodou „Odstranit řádek VBA“. Nechte se zaměstnávat dalších 15 až 20 minut, abyste se o konceptu dozvěděli.

Jak odstranit řádek?

Příklad č. 1

Ve VBA musíme zmínit řádek, který odstraňujeme.

Kód:

Sub DeleteRow_Example1 () Buňky (1, 1) End Sub

Buňky (1, 1) znamenají první řádek prvního sloupce, tj. Buňku A1. Potom použijeme metodu „smazat“.

Kód:

Sub DeleteRow_Example1 () Buňky (1, 1). Odstranit End Sub

Tím se odstraní první buňka. Všechny hodnoty na pravé straně posunou jednu buňku doleva.

Příklad č. 2

Pokud chcete odstranit celý řádek, musíme použít vlastnost „EntireRow“, pak musíme použít metodu „delete“ k odstranění celého řádku buňky, kterou jsme vybrali.

Kód:

Sub DeleteRow_Example2 () Buňky (1, 1) .EntireRow.Delete End Sub

Například jsem zadal několik znaků do listu aplikace Excel následujícím způsobem.

Teď, když spustím tento kód, vymaže celý řádek, ne jedinou buňku.

Příklad č. 3

Řádek můžeme odstranit několika způsoby. Ve výše uvedeném příkladu jsme řádek odstranili pomocí vlastnosti CELLS. Nyní uvidíme, jak odstranit pomocí vlastnosti ROWS.

Nyní musíme zmínit, co je řádek, který musíme odstranit. Řekněme, že musíme odstranit 5 th řádek.

Nyní použijte vlastnost „EntireRow“.

Po výběru vlastnosti, co musíme udělat, tj. Metoda. Musíme odstranit řádek.

Kód:

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

Takže tento kód smaže 5 th řádek.

Příklad č. 4

Odstraňte více řádků pomocí objektu rozsahu

Jak odstraníme více řádků?

K odstranění více než jednoho řádku můžeme použít objekt VBA RANGE. Předpokládejme, že máte nějaké hodnoty z buněk A1 až A6.

Teď chci odstranit prvních 5 řádků, abych mohl na tyto řádky odkazovat pomocí objektu Range jako „Range („ A1: A5 “)“

Kód:

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

Nyní chci použít vlastnost „EntireRow“.

Kód:

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

V celém tomto řádku musíme provést metodu mazání, proto použijte metodu Odstranit.

Kód:

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

Tímto odstraníte vybrané řádky.

Příklad č. 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 ("Prosím vyberte rozsah", "Odstranění řádků prázdných buněk řádků", Typ: = 8) Nastavit DeletionRange = RangeToDelete RangeToDelete.SpecialCells (xlCellTypeBlanks). .Delete End Sub

Když spustíte tento kód, nejprve vás požádá o výběr rozsahu se vstupním polem, které se zobrazí před vámi.

Po výběru rozsahu musíte kliknout na OK. Odstraní všechny prázdné řádky buněk ve vybraném rozsahu.

Zajímavé články...