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: 3195
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 49 x

Reklama
Zivan
Level 5
Level 5
Příspěvky: 2437
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: 3195
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: 162
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 77 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: 3195
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
  • Vyhledávání z adresní řádky - chyba (Chrome) Příloha(y)
    od pikaso.andreas » 23 říj 2023 14:34 » v Internet a internetové prohlížeče
    1
    2277
    od rhsCZ Zobrazit poslední příspěvek
    25 říj 2023 19:55
  • Word 2007: Jak zrušit prázdné řádky na každé stránce mezi čarou a poznámkami?
    od Jirka0508 » 29 pro 2023 00:30 » v Windows 11, 10, 8...
    1
    648
    od mmmartin Zobrazit poslední příspěvek
    29 pro 2023 13:00
  • MS Outlook - Hromadné vytvoření složek Příloha(y)
    od czTANIScz » 22 zář 2023 11:36 » v Kancelářské balíky
    6
    2678
    od czTANIScz Zobrazit poslední příspěvek
    23 zář 2023 22:34
  • Jak hromadně změnit datum a čas souborů?
    od atari » 11 črc 2023 14:41 » v Programování a tvorba webu
    2
    2329
    od atari Zobrazit poslední příspěvek
    13 črc 2023 10:52
  • Nemožnost odstranit soubor Příloha(y)
    od Dolpi » 22 kvě 2023 18:54 » v Vše ostatní (sw)
    1
    1261
    od zeus Zobrazit poslední příspěvek
    23 kvě 2023 12:46

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

Kdo je online

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