Stránka 1 z 1

VBA v XLS - Odstraneni radku od 1.prazdne bunky

Napsal: 25 led 2012 07:15
od MK_Vs
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

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

Napsal: 25 led 2012 09:16
od Poki
Zkuste vlozit vzorovy soubor, protoze je tam velka spousta dalsich otazek:
- verze excelu, rozmisteni dat, apod...

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

Napsal: 25 led 2012 14:12
od MK_Vs
Dobrý den, zde je párřádkový soubor.

Prioritně se jedná o Office 2007 - 2010. Starší verze příležitostně.

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

Napsal: 25 led 2012 14:28
od Azuzula
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

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

Napsal: 25 led 2012 14:31
od MK_Vs
Ano, vymazat kompet vše, včetně podmíněčných formátů a jiných možných věcí.

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

Napsal: 26 led 2012 06:39
od MK_Vs
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

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

Napsal: 26 led 2012 08:23
od Azuzula
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.

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

Napsal: 26 led 2012 08:35
od MK_Vs
A pokud budu chtít na jiném listu odečítat od sloupce C?

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

Napsal: 26 led 2012 08:45
od Azuzula
To taky půjde neboj ;) jen to vyzkoušej a uvidíš

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

Napsal: 26 led 2012 09:05
od MK_Vs
Dobře, děkuji.

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

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

Napsal: 26 led 2012 09:11
od Azuzula
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

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

Napsal: 26 led 2012 09:21
od MK_Vs
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.