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.