Excel VBA Odstrániť riadok
Normálne v pracovnom hárku programu Excel máme dve rôzne metódy na odstránenie riadkov, z ktorých jedna je klávesová skratka a druhá pomocou metódy klikania pravým tlačidlom myši a vloženia, ale vo VBA musíme na odstránenie všetkých riadkov použiť príkaz delete a príkaz pracovného hárka. to je to, že ak potrebujeme vymazať jeden riadok, dáme odkaz na jeden riadok, ale pre viac stĺpcov dáme viac odkazov na riadky.
Pomocou metódy odstránenia riadkov VBA môžeme odstrániť všetky prázdne riadky a riadok môžeme odstrániť na základe hodnoty bunky. Ak je niektorá z buniek prázdna, môžeme tiež odstrániť celý riadok.
V tomto článku sa budeme zaoberať metódou „VBA Odstrániť riadok“. Ak sa chcete dozvedieť viac o koncepte, buďte zamestnaní ďalších 15 až 20 minút.

Ako odstrániť riadok?
Príklad č
Vo VBA musíme spomenúť riadok, ktorý vymazávame.
Kód:
Sub DeleteRow_Example1 () Bunky (1, 1) Koniec Sub

Bunky (1, 1) znamenajú prvý riadok, prvý stĺpec, tj. Bunku A1. Potom použijeme metódu „odstrániť“.
Kód:
Sub DeleteRow_Example1 () Bunky (1, 1). Odstrániť koncový sub

Týmto sa odstráni prvá bunka. Všetky hodnoty na pravej strane posunú jednu bunku doľava.

Príklad č
Ak chcete vymazať celý riadok, musíme použiť vlastnosť „EntireRow“, potom musíme pomocou metódy „delete“ vymazať celý riadok bunky, ktorú sme vybrali.
Kód:
Sub DeleteRow_Example2 () Bunky (1, 1). EntireRow. Odstrániť koncový sub

Napríklad som zadal niekoľko znakov do hárka programu Excel nasledovne.

Teraz, keď spustím tento kód, vymaže sa celý riadok, nie jediná bunka.

Príklad č
Riadok môžeme odstrániť niekoľkými spôsobmi. Vo vyššie uvedenom príklade sme riadok odstránili pomocou vlastnosti CELLS. Teraz uvidíme, ako odstrániť pomocou vlastnosti ROWS.

Teraz musíme spomenúť, čo je riadok, ktorý musíme vymazať. Povedzme, že musíme odstrániť 5 th riadok.

Teraz použite vlastnosť „EntireRow“ vlastnosti.

Po výbere vlastnosti, čo musíme urobiť, tj. Metóda. Musíme riadok vymazať.
Kód:
Sub DeleteRow_Example3 () riadky (5) .EntireRow. Odstrániť koncový sub

Takže tento kód zmaže 5 th riadok.
Príklad č
Odstráňte viac riadkov pomocou objektu rozsahu
Ako odstránime viac riadkov?
Na odstránenie viac ako jedného riadku môžeme použiť objekt VBA RANGE. Predpokladajme, že máte nejaké hodnoty od buniek A1 po A6.

Teraz chcem odstrániť prvých 5 riadkov, aby som mohol na tieto riadky odkazovať pomocou objektu Range ako „Range („ A1: A5 “)“
Kód:
Sub DeleteRow_Example4 () Range ("A1: A5") End Sub

Teraz chcem použiť vlastnosť slova „EntireRow“.
Kód:
Sub DeleteRow_Example4 () Range ("A1: A5"). EntireRow End Sub

V celom tomto riadku musíme vykonať metódu mazania, preto použite metódu Delete.
Kód:
Sub DeleteRow_Example4 () Range ("A1: A5"). EntireRow.Delete End Sub

Týmto sa odstránia vybraté riadky.

Príklad č
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 ("Vyberte rozsah", "Vymazanie riadkov prázdnych buniek riadkov", Typ: = 8) Nastaviť DeletionRange = RangeToDelete RangeToDelete.SpecialCells (xlCellTypeBlanks). .Delete End Sub

Keď spustíte tento kód, najskôr vás požiada, aby ste vybrali rozsah so vstupným poľom zobrazeným pred vami.

Po výbere rozsahu musíte kliknúť na OK. Odstráni všetky prázdne riadky buniek vo vybratom rozsahu.