Jak hromadně odstranit řádky v Excelu?

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3372
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Jak hromadně odstranit řádky v Excelu?

Příspěvekod atari » 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?

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
Přílohy
test.xlsm
(15.88 KiB) Staženo 67 x

Reklama
Zivan
Level 5.5
Level 5.5
Příspěvky: 2727
Registrován: leden 10
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Jak hromadně odstranit řádky v Excelu?

Příspěvekod Zivan » 23 říj 2019 09:55

Netusim jestli nejde v Excelu nejak filtrovat radky, ziskat spravne a ty hromadne smazat...ale co projet ty radky od konce? Kdyz jich bude 100, ty zjistis ze 90. radek neobsahuje 999, smazes ho a jdes na radek 89. Nevadi ti, ze se z radku 91 stal radek 90...atd.

Nemusis pak resit jaky je aktualne posledni radek a uvnitr for cyklu meni promennou i, coz si vzdy koleduje o problem.
HP Elitebook 845 G8 (Ryzen 5650U, 32GB RAM, WD SN570 1TB, 14" fullHD IPS) + HP USB-C G5 Essential + 29" LG 29UM65 + 22" Eizo S2202W

Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3372
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Jak hromadně odstranit řádky v Excelu?

Příspěvekod atari » 23 říj 2019 10:06

OK díky, tohle funguje, a je to čisté řešení.
Pak ještě zbývá problém, že to je při velkém počtu řádků pomalé. Ale to se dá přežít.

Uživatelský avatar
Grimm
Level 2
Level 2
Příspěvky: 165
Registrován: září 17
Pohlaví: Muž
Stav:
Offline

Re: Jak hromadně odstranit řádky v Excelu?

Příspěvekod Grimm » 23 říj 2019 11:44

V příloze několik možností. Jednu zmínil již Zivan
Otestuj
Přílohy
test.xlsm
(19.42 KiB) Staženo 89 x

guest
Pohlaví: Nespecifikováno

Re: Jak hromadně odstranit řádky v Excelu?

Příspěvekod guest » 24 říj 2019 00:15

a) Řádky se odstraňují odspodu.
b) Jde to udělat hromadně
c) Nasaďte filtr a neřešte kraviny.

Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3372
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Jak hromadně odstranit řádky v Excelu?

Příspěvekod atari » 24 říj 2019 08:33

a) to už jsem udělal a funguje
b) "hromadně" - můžete dát nápovědu?
c) filtr nepřichází v úvahu, já ten soubor umistuji na web pro veřejné stažení, takže tam nemůžu nechat něco co nesmí veřejnost vidět

guest
Pohlaví: Nespecifikováno

Re: Jak hromadně odstranit řádky v Excelu?

Příspěvekod guest » 26 říj 2019 10:03

b)

Kód: Vybrat vše

Sub Devitky()

    Dim rngRefBunka As Range

    'se sloupcem 2...
    With Columns(2)
       
        'referencni bunka
        Set rngRefBunka = .Find(What:="999", LookAt:=xlWhole)
   
        'odstraneni rozdilnych radku
        'viz dialog Prejit na - jinak
        .ColumnDifferences(rngRefBunka).EntireRow.Delete

    End With

End Sub


c) Myslel jsem nasadit filtr a devítky přenést jinam a to zveřejnit.

Pro úplnost (jiná verze úlohy)
https://proexcel.cz/odstraneni-radku-na-zaklade-hodnoty/


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Jak odstranit okna při spouštění - Chrome Příloha(y)
    od NIESRA » 08 pro 2024 10:42 » v Internet a internetové prohlížeče
    2
    6246
    od NIESRA Zobrazit poslední příspěvek
    08 pro 2024 11:29
  • Odstranit nabidka update win11 Příloha(y)
    od byron » 18 říj 2025 12:35 » v Windows 11, 10, 8...
    7
    3032
    od byron Zobrazit poslední příspěvek
    20 říj 2025 09:39
  • Jak odstranit zaškrtávací ikonu (prázdný čtverec) ve WORDU? Příloha(y)
    od Zabral688 » 08 pro 2024 12:20 » v Kancelářské balíky
    9
    5491
    od mmmartin Zobrazit poslední příspěvek
    09 pro 2024 08:27
  • Jak odstranit bílý pruh nad maximalizovaným oknem programu?
    od Minapark » 09 zář 2025 13:19 » v Windows 11, 10, 8...
    0
    2467
    od Minapark Zobrazit poslední příspěvek
    09 zář 2025 13:19

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 18 hostů