Jak hromadně odstranit řádky v Excelu?
Napsal: 23 říj 2019 09:44
Potřebuji odstranit řádky, které ve sloupci B neobsahují 999. Udělal jsem to cyklem viz níže. Jelikož se uprostřed cyklu snižuje hodnota řádků, tak po každém smazání snižuji hodnotu i. A aby se to po posledním řádku nezacyklilo, tak neustále hodnotu "I" porovnávám s posledním řádkem a při shodě násilně cyklus uknčim.
Toto řešení mi připadá neprofesionální a při velkém množství řádků pomalé. Existuje elegantnější a rychlejší způsob jak ty řádky smazat?
Toto řešení mi připadá neprofesionální a při velkém množství řádků pomalé. Existuje elegantnější a rychlejší způsob jak ty řádky smazat?
Kód: Vybrat vše
Sub odstranit_radky()
PosledniRadek = Cells(Rows.Count, "B").End(xlUp).Row 'poslední rádek
For i = 1 To PosledniRadek
If Cells(i, 2) = 999 Then
Else
Rows(i).Delete 'smazeme rádky kde není 999
i = i - 1 'snižuji hodnotu i
End If
PosledniRadek = Cells(Rows.Count, "B").End(xlUp).Row 'znovu načtu poslední řádek
If i = PosledniRadek Then Exit For 'pokud je "i" na posledním řádku tak ukončím cyklus
Next i
End Sub