VBA Excel - smazání řádků

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

Moderátor: Mods_senior

MiraXP
Level 1
Level 1
Příspěvky: 92
Registrován: duben 12
Pohlaví: Muž
Stav:
Offline

VBA Excel - smazání řádků

Příspěvekod MiraXP » 10 dub 2012 15:28

Zdravím odborníky !
Sice jsem tady studoval stará témata a starší příspěvky, ale zaboha jsem to nedal dohromady, aby to bylo funkční. Potřebuju makro, jenž prohledá list a smaže celé řádky, které ve sloupci A neobsahují řetězec nebo znaky např. "ABC" anebo ve sloupci B neobsahují znaky např. "DEF". Data nelze setřídit.
Jsem z toho už lama jelenovitá .... :mad:
Děkuji všem za případné tipy.
Intel Core i5-750, Gigabyte GA-P55A-UD3R, Kingston SSDNow V+200 12OGB,
Kingston HyperX Blue 2x4GB, AMD Radeon HD6670 1GB, Win 7 Ultimate

Reklama
cmuch
Level 4.5
Level 4.5
Příspěvky: 1547
Registrován: březen 11
Bydliště: Drsná Vysočina :D
Pohlaví: Muž
Stav:
Offline

Re: VBA Excel - smazání řádků

Příspěvekod cmuch » 10 dub 2012 16:04

Ahoj,
Vyzkoušej na kopii dat toto.

Kód: Vybrat vše

Sub SmazUdaje()
Dim radek, radky As Long

radky = Cells(Rows.Count, 1).End(xlUp).Row 'zjisteni poctu radku ze sloupce A

Application.ScreenUpdating = False

    'nastavime od jakeho po jaky radek
    For radek = 1 To radky
        ' kontrola sloupcu A a B
       If Cells(radek, "A").Value <> "ABC" Or Cells(radek, "B").Value <> "DEF" Then
           'smazani udaju
          Rows(radek).Delete Shift:=xlUp
       End If
    Next
    Range("A1").Select
   
Application.ScreenUpdating = True

    MsgBox "Údaje promazány.", vbInformation
End Sub

MiraXP
Level 1
Level 1
Příspěvky: 92
Registrován: duben 12
Pohlaví: Muž
Stav:
Offline

Re: VBA Excel - smazání řádků

Příspěvekod MiraXP » 10 dub 2012 16:32

Ano, takhle nějak jsem to měl také .... ale já potřebuju vymazat vše ostatní a právě řádky, které obsahují buňky ABC a DEF ponechat ! :roll:
Intel Core i5-750, Gigabyte GA-P55A-UD3R, Kingston SSDNow V+200 12OGB,
Kingston HyperX Blue 2x4GB, AMD Radeon HD6670 1GB, Win 7 Ultimate

cmuch
Level 4.5
Level 4.5
Příspěvky: 1547
Registrován: březen 11
Bydliště: Drsná Vysočina :D
Pohlaví: Muž
Stav:
Offline

Re: VBA Excel - smazání řádků

Příspěvekod cmuch » 10 dub 2012 17:53

Tak tady je oprava

Kód: Vybrat vše

...

Edit 11.4.1:57
kod odstraněn - nahrazen následujícím
Naposledy upravil(a) cmuch dne 11 dub 2012 07:58, celkem upraveno 1 x.

MiraXP
Level 1
Level 1
Příspěvky: 92
Registrován: duben 12
Pohlaví: Muž
Stav:
Offline

Re: VBA Excel - smazání řádků

Příspěvekod MiraXP » 10 dub 2012 18:14

Mno, ano, takhle se to bezvadně zacyklí a neudělá nic ....
Intel Core i5-750, Gigabyte GA-P55A-UD3R, Kingston SSDNow V+200 12OGB,
Kingston HyperX Blue 2x4GB, AMD Radeon HD6670 1GB, Win 7 Ultimate

cmuch
Level 4.5
Level 4.5
Příspěvky: 1547
Registrován: březen 11
Bydliště: Drsná Vysočina :D
Pohlaví: Muž
Stav:
Offline

Re: VBA Excel - smazání řádků

Příspěvekod cmuch » 10 dub 2012 18:17

To nevím mě to jde dobře v sešitě co jsem si udělal.
Tak pošli sešit pokud to jde.

MiraXP
Level 1
Level 1
Příspěvky: 92
Registrován: duben 12
Pohlaví: Muž
Stav:
Offline

Re: VBA Excel - smazání řádků

Příspěvekod MiraXP » 10 dub 2012 18:45

Tak tady to je ....
Přílohy
ABC.xls
(13.5 KiB) Staženo 53 x
Intel Core i5-750, Gigabyte GA-P55A-UD3R, Kingston SSDNow V+200 12OGB,
Kingston HyperX Blue 2x4GB, AMD Radeon HD6670 1GB, Win 7 Ultimate

cmuch
Level 4.5
Level 4.5
Příspěvky: 1547
Registrován: březen 11
Bydliště: Drsná Vysočina :D
Pohlaví: Muž
Stav:
Offline

Re: VBA Excel - smazání řádků

Příspěvekod cmuch » 11 dub 2012 07:56

Tak teď by už mohlo :D , já si nevšim, že to může být i část textu.

Kód: Vybrat vše

Sub SmazUdaje()
Dim radek, radky As Long

radky = Cells(Rows.Count, 1).End(xlUp).Row 'zjisteni poctu radku ze sloupce A

Application.ScreenUpdating = False

    'nastavime od jakeho po jaky radek
    For radek = radky To 1 Step -1
       
    Set Found1 = Range("A" & radek).Find(What:="abc")
    Set Found2 = Range("B" & radek).Find(What:="def")

       If Not Found1 Is Nothing Then GoTo dalsi
         If Not Found2 Is Nothing Then GoTo dalsi
            'smazani udaju
            Rows(radek).Delete Shift:=xlUp
dalsi:
    Next
   
Application.ScreenUpdating = True

Range("A1").Select
MsgBox "Údaje promazány.", vbInformation

Set Found1 = Nothing
Set Found2 = Nothing
End Sub

MiraXP
Level 1
Level 1
Příspěvky: 92
Registrován: duben 12
Pohlaví: Muž
Stav:
Offline

Re: VBA Excel - smazání řádků

Příspěvekod MiraXP » 12 dub 2012 00:13

No jo, sakra, ono to fakt funguje ! :smile:
Chlape, jsi hlava, děkuju za návod ! :wink:
Intel Core i5-750, Gigabyte GA-P55A-UD3R, Kingston SSDNow V+200 12OGB,
Kingston HyperX Blue 2x4GB, AMD Radeon HD6670 1GB, Win 7 Ultimate


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Smazání HDD
    od FELINY » 27 kvě 2025 12:17 » v Vše ostatní (sw)
    9
    2788
    od atari Zobrazit poslední příspěvek
    28 kvě 2025 18:09
  • EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
    od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw)
    2
    4807
    od Riviera kid Zobrazit poslední příspěvek
    02 zář 2024 16:21
  • Žádám o uzavření účtu a smazání příspěvků
    od Uziv00 » 16 črc 2024 09:30 » v PC-HELP - připomínky k fóru
    1
    4310
    od Ltb Zobrazit poslední příspěvek
    16 črc 2024 10:10
  • Přechod z Excel 21 na Excel 24
    od Snekment » 29 led 2025 13:46 » v Kancelářské balíky
    2
    12222
    od Snekment Zobrazit poslední příspěvek
    29 led 2025 15:05
  • Pohoda a excel Příloha(y)
    od brownwld » 06 kvě 2025 17:28 » v Kancelářské balíky
    1
    4716
    od atari Zobrazit poslední příspěvek
    07 kvě 2025 09:41

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

Kdo je online

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