zpět na výpis    domů » excel » VBA: Rows.Count a Columns.Count

VBA: Rows.Count a Columns.Count

Publikováno: 29.6.2017

VBA: Rows.Count a Columns.Count

Každý, kdo programuje aplikace ve VBA nebo se učí programovat, narazí dřív nebo později na situaci, kdy potřebuje zjistit počet řádku a sloupců v dané tabulce. Počet řádků a sloupců lze například využít pro automatické formátování tabulky. Počet řádků tabulky může sloužit jako horní mez cyklu s pevným počtem opakování a počet sloupců pro šíři tabulky.

Rows.Count a Columns.Count v praxi #1

Následující procedura zjistí počet řádku a sloupců v sešitě. Zjištěné počty vypíše v dialogovém okně.

Option Explicit

Sub Pocet()

deklarace proměnných
Dim pocetradku As Long, pocetsloupcu As Long

načtení hodnot do proměnných
pocetradku = Rows.Count
pocetsloupcu = Columns.Count

výpis hodnot
MsgBox "Počet řádků: " & pocetradku
MsgBox "Počet slouců: " & pocetsloupcu

End Sub

Rows.Count a Columns.Count v praxi #2

Následující procedura zjistí počet řádku a sloupců v tabulce. Počty v tabulce jsou zjištěny pomocí metody End, která zajistí přechod daným směrem na poslední neprázdnou buňku. Zjištěné počty vypíše v dialogovém okně.

Option Explicit

Sub Pocet()

deklarace proměnných
Dim posledniradek As Long, poslednisloupec As Long

načtení hodnot do proměnných
posledniradek = Cells(Rows.Count, "A").End(xlUp).Row
poslednisloupec = Cells(1, Columns.Count).End(xlToLeft).Column

výpis hodnot
MsgBox "Poslední řádek: " & posledniradek
MsgBox "Poslední sloupec: " & poslednisloupec

End Sub

Rows.Count a Columns.Count v praxi #3

Další procedura zjistí počet vyplněných řádků ve sloupci A. Počet řádků je použit jako horní mez cyklu s For ... Next. Pomocí logického větvení kódu je testováno, zda je v buňce číslo či nikoliv. Je-li v buňce číslo je zbarvenou zelenou barvou.

Option Explicit

Sub Pocet()

deklarace proměnných
Dim i As Byte
Dim pocetbunek As Byte

počet vyplněných buněk ve sloupci A
pocetbunek = Cells(Rows.Count, "A").End(xlUp).Row

cyklus s pevným počtem opakování
For i = 1 To pocetbunek
  If IsNumeric(Cells(i, "A")) Then
    With Cells(i, "A")
      .Font.Color = RGB(0, 255, 0)
      .Offset(, 1) = "Je číslo"
    End With
  Else
    Cells(i, "A").Offset(, 1) = "Není číslo"
  End If
Next i

End Sub

Rows.Count a Columns.Count v praxi #4

Informace o velikosti tabulky mohou být využity například pro formátování tabulky. V následujícím příkladu je každý sudý řádek tabulky za použití cyklu s pevným počtem opakování For ... Next i zabarven modrou barvou pomocí Interior.Color.

Option Explicit

Sub formatTabulky()

deklarace proměnných
Dim posledniradek As Long
Dim poslednisloupec As Long
Dim i As Long

načtení velikosti tabulky do proměnných
posledniradek = Cells(Rows.Count, 1).End(xlUp).Row
poslednisloupec = Cells(1, Columns.Count).End(xlToLeft).Column

cyklus zajistí zbarvení sudých řádků
For i = 3 To posledniradek Step 2
  With Cells(i, 1).Resize(, poslednisloupec)
      .Interior.Color = RGB(204, 234, 255)
  End with
Next i

End Sub

Výsledek vykonané procedury můžete vidět na následujícím obrázku.

Formátování tabulky ve VBA

Líbí se vám článek? Dejte o něm vědět lidem v diskusích a na sociálních sítích. Podpoříte tím další rozvoj tohoto webu.

Google+

Sdílejte článek na sociálních sítích

Použité zdroje a literatura
  • BENÁČANOVÁ H.: Tvorba aplikací v Microsoft Office Excel 2. část. Možnosti VBA. Vysoká škola ekonomická v Praze, nakladatelství Oeconomica 2009, Praha. První vydání, 126 stran. ISBN 978-80-245-1602-8
  • Nápověda k aplikaci MS Excel
Nahoru