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.


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

Kdo je online

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