zpět na výpis    domů » excel » Počet řádků a sloupců ve VBA

Počet řádků a sloupců ve VBA

Publikováno: 29.6.2017

Počet řádků a sloupců ve VBA

Při programování aplikací ve VBA dříve nebo později narazíte na situaci, kdy potřebujete zjistit počet řádku a sloupců v listu, tabulce apod. Počet řádků využijete například jako horní mez v cyklu s pevným počtem opakování a počet sloupců například pro formátování tabulky.

Rows.Count a Columns.Count #1

První procedura sečte řádky a sloupce v listu Excelu a vypíše v dialogovém okně pomocí příkazu Msgbox.

Option Explicit

Sub Pocet()

deklarace proměnných
Dim pocet_radku As Long, pocet_sloupcu As Long

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

výpis hodnot
MsgBox "Počet řádků: " & pocet_radku & ", počet slouců: " & pocet_sloupcu

End Sub

Počet řádků a sloupců v xls listu

Další procedura zjistí počet řádků v listu a zabarví každý lichý řádek žlutou barvou (6) pomocí vlastnosti Interior.ColorIndex.

Option Explicit

Sub Zabarvitradky()

deklarace proměnných
Dim pocet_radku, i As Long

načtení hodnot do proměnných
pocet_radku = Rows.Count

cyklus
for i = 2 to pocet_radku Step 2
  rows(i).Interior.ColorIndex = 6
Next i

End Sub

Počet řádků a sloupců v xls listu

Počítejte s tím, že exekuce procedury bude kvůli rozsahu chvilku trvat. Případně proměnnou pocet_radku v cyklu přepište na nějaké rozumné číslo (např. 100).

Rows.Count a Columns.Count #2

Následující proceduru využijime k získání počtu řádků a sloupců v tabulce. S tím nám pomůže metoda End, která zjistí počet vyplněných buněk (neprázdných buněk).

Nejdříve zjistíme počet vyplněných buněk (Rows.Count) ve sloupci A a poté se kurzor přesune zpět nahoru do výchozí pozice. Stejným způbosem zjistíme i počet sloupců. Zjištěné počty nakonec necháme vypsat v dialogovém okně Msgbox.

Option Explicit

Sub Pocet()

deklarace proměnných
Dim posledni_radek As Long, posledni_sloupec As Long

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

výpis hodnot
MsgBox "Poslední řádek: " & posledni_radek
MsgBox "Poslední sloupec: " & posledni_sloupec

End Sub

Rows.Count a Columns.Count #3

Další procedura zjistí počet vyplněných řádků, který bude limitovat počet opakování cyklu For ... Next. Pomocí logického větvení If ... Else ... End If otestuje, zda je v buňce číslo či nikoliv. Číslo obarví zelenou barvou.

Option Explicit

Sub Pocet()

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

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

cyklus s pevným počtem opakování
For i = 1 To pocet_bunek
  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

Počet řádků a sloupců v xls listu

Rows.Count a Columns.Count #4

V poslední proceduře využijeme informace o velikosti tabulky k jejímu formátování. Každý sudý řádek tabulky necháme pomocí cyklu For ... Next i a vlastnosti Interior.Color zabarvit modrou barvou.

Option Explicit

Sub formatTabulky()

deklarace proměnných
Dim posledni_radek As Long
Dim posledni_sloupec As Long
Dim i As Long

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

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

End Sub

Výsledek vykonané procedury je na následujícím obrázku

Formátování tabulky ve VBA

Líbil se vám článek? A chcete se vědět o každém dalším?

Sledujte:

Nahoru