VBA v XLS - Odstraneni radku od 1.prazdne bunky

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

Moderátor: Mods_senior

MK_Vs
Level 2
Level 2
Příspěvky: 200
Registrován: červen 10
Pohlaví: Nespecifikováno
Stav:
Offline

VBA v XLS - Odstraneni radku od 1.prazdne bunky

Příspěvekod MK_Vs » 25 led 2012 07:15

Dobrý den,

prosím, jakou sekvencí příkazů v rámci makra odstraním na vybraném listu celé řádky podle následující podmíky:

1) najdi první prázdnou buňku ve sloupci A
2) Odstraň všechny řádky od této buňky dále, včetně této buňky - opravdu odstranit, ne jen smazat

Děkuji.

MK

Reklama
Uživatelský avatar
Poki
Level 2
Level 2
Příspěvky: 237
Registrován: prosinec 09
Pohlaví: Muž
Stav:
Offline

Re: VBA v XLS - Odstraneni radku od 1.prazdne bunky

Příspěvekod Poki » 25 led 2012 09:16

Zkuste vlozit vzorovy soubor, protoze je tam velka spousta dalsich otazek:
- verze excelu, rozmisteni dat, apod...

MK_Vs
Level 2
Level 2
Příspěvky: 200
Registrován: červen 10
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VBA v XLS - Odstraneni radku od 1.prazdne bunky

Příspěvekod MK_Vs » 25 led 2012 14:12

Dobrý den, zde je párřádkový soubor.

Prioritně se jedná o Office 2007 - 2010. Starší verze příležitostně.
Naposledy upravil(a) MK_Vs dne 26 led 2012 06:55, celkem upraveno 1 x.

Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: leden 12
Bydliště: Země, bohužel...
Pohlaví: Žena
Stav:
Offline
Kontakt:

Re: VBA v XLS - Odstraneni radku od 1.prazdne bunky

Příspěvekod Azuzula » 25 led 2012 14:28

Chápu to dobře že chcete smazat i ty vzorce napravo?
Pokud ano, tak třeba takto.
-provádí operaci v sloupku A (začátek je na řádku 2) a všechny buňky ve sloupku musí být neprázdné (nula není neprázdné pozor na to!)
-odstraní všechny řádky dolu od poslední prázdné buňky včetně.

Kód: Vybrat vše

    Dim FrstR As Long, FrstCll As Range
  With ActiveSheet
    FrstR = .Range(.Range("A2"), .Range("A2").End(xlDown)).Rows.Count
    Set FrstCll = .Range("A2").Offset(FrstR, 0)
  End With
    Range(FrstCll.Address).Activate
    Range(Selection, Selection.End(xlDown)).EntireRow.Delete
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.

MK_Vs
Level 2
Level 2
Příspěvky: 200
Registrován: červen 10
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VBA v XLS - Odstraneni radku od 1.prazdne bunky

Příspěvekod MK_Vs » 25 led 2012 14:31

Ano, vymazat kompet vše, včetně podmíněčných formátů a jiných možných věcí.

MK_Vs
Level 2
Level 2
Příspěvky: 200
Registrován: červen 10
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VBA v XLS - Odstraneni radku od 1.prazdne bunky

Příspěvekod MK_Vs » 26 led 2012 06:39

Dobrý den,

prosím ještě o jedno upřesnění. Pokud chci aplikovat osdtranění prázdných řádků na více listů v syntaxi.

' odmaz A
Sheets("A").Select
Dim FrstR As Long, FrstCll As Range
With ActiveSheet
FrstR = .Range(.Range("B3"), .Range("B3").End(xlDown)).Rows.Count
Set FrstCll = .Range("B3").Offset(FrstR, 0)
End With
Range(FrstCll.Address).Activate
Range(Selection, Selection.End(xlDown)).EntireRow.Delete
Range("B3").Select

' odmaz B
Sheets("B").Select
Dim FrstR As Long, FrstCll As Range
With ActiveSheet
FrstR = .Range(.Range("B5"), .Range("B5").End(xlDown)).Rows.Count
Set FrstCll = .Range("B5").Offset(FrstR, 0)
End With
Range(FrstCll.Address).Activate
Range(Selection, Selection.End(xlDown)).EntireRow.Delete
Range("B3").Select

Při kontrole dojde k debugu, zvojedný kód.

Jak mohu tuto část dostat na více listů kde bude rozhodující pro odstranění sloupec B (zde 2 listy sl. B) a v jdenom případě jiného listu sloupec C.
Případně jak pro každý list definavat samostatně?

Děkuji.MK

Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: leden 12
Bydliště: Země, bohužel...
Pohlaví: Žena
Stav:
Offline
Kontakt:

Re: VBA v XLS - Odstraneni radku od 1.prazdne bunky

Příspěvekod Azuzula » 26 led 2012 08:23

deklaruj proměnné jen jednou, tzn. "Dim FrstR As Long, FrstCll As Range" tam nech jen na začátku a ostatní smaž ;) potom už to pojede.
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.

MK_Vs
Level 2
Level 2
Příspěvky: 200
Registrován: červen 10
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VBA v XLS - Odstraneni radku od 1.prazdne bunky

Příspěvekod MK_Vs » 26 led 2012 08:35

A pokud budu chtít na jiném listu odečítat od sloupce C?

Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: leden 12
Bydliště: Země, bohužel...
Pohlaví: Žena
Stav:
Offline
Kontakt:

Re: VBA v XLS - Odstraneni radku od 1.prazdne bunky

Příspěvekod Azuzula » 26 led 2012 08:45

To taky půjde neboj ;) jen to vyzkoušej a uvidíš
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.

MK_Vs
Level 2
Level 2
Příspěvky: 200
Registrován: červen 10
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VBA v XLS - Odstraneni radku od 1.prazdne bunky

Příspěvekod MK_Vs » 26 led 2012 09:05

Dobře, děkuji.

A pokud na některém listu toto nebuduchtít provézt?

Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: leden 12
Bydliště: Země, bohužel...
Pohlaví: Žena
Stav:
Offline
Kontakt:

Re: VBA v XLS - Odstraneni radku od 1.prazdne bunky

Příspěvekod Azuzula » 26 led 2012 09:11

Jsou dvě možnosti. Buď nenapíšeš makro pro ten list kde nechceš odstranit řádky, anebo použij jen tu první část makra co jsem napsala a dej si na každý list tlačítko a k němu přiřaď to makro a kde budeš chtít provést odstranění, tak tam klikneš na tlačítko
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.

MK_Vs
Level 2
Level 2
Příspěvky: 200
Registrován: červen 10
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VBA v XLS - Odstraneni radku od 1.prazdne bunky

Příspěvekod MK_Vs » 26 led 2012 09:21

Dobrý den, tlačítko mě také napadlo. Vyzkouším, případně se ozvu. Nyní se mi to ale časově npeovede. Pravděpodobně zítra ráno.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

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ů