Použitý rozsah VBA - Spočítajte počet použitých riadkov alebo stĺpcov - Príklady kódu VBA

UsedRange - Nájdite poslednú použitú bunku, stĺpec alebo riadok

Nasledujúci kód vráti pole so správou, ktoré udáva celkový počet riadkov použitých v pracovnom hárku. Prázdne riadky sa považujú za použité, ak údaje nasledujú za prázdnym riadkom.

1 MsgBox ActiveSheet.UsedRange.Rows.Count

Musíte spustiť slučku po hárku, ale neviete, kde sa údaje zastavia? Pomôcť môže ActiveSheet.UsedRange.Rows.Count.

Vložte to do modulu:

123456789 Podposledný riadok ()Dim LastRow ako celé čísloLastRow = ActiveSheet.UsedRange.Rows.CountMsgBox LastRowKoniec pod
123456789 Sub LastCol ()Dim LastCol ako celé čísloLastCol = ActiveSheet.UsedRange.Col.CountMsgBox LastColKoniec pod

Nájdite prvú prázdnu bunku

Pri použití jazyka VBA bude možno potrebné napísať do prvej prázdnej bunky alebo za posledný riadok použitý v stĺpci. Nie je potrebné to opakovať, nasledujúci kód to urobí za vás.

V tomto prípade kód napíše „FirstEmpty“ do prvej prázdnej bunky v stĺpci „d“

1234 Verejný podposledný koniec ()ActiveSheet.Range ("d" & ActiveSheet.Rows.Count) .End (xlUp) .Offset (1, 0) .Value = "FirstEmpty"Koniec pod

Spočítajte použité stĺpce v pracovnom liste

Nasledujúci kód vráti do poľa správy celkový počet stĺpcov použitých v pracovnom hárku. Prázdne stĺpce sa považujú za použité, ak údaje nasledujú za prázdnym stĺpcom.

1 MsgBox ActiveSheet.UsedRange.Columns.Count

Posledná použitá bunka - problémy

Keď potrebujem Pre … Ďalej … Prejsť celý stĺpec, zvyčajne používam ActiveSheet.UsedRange.Rows.Count, aby som zistil, kde sa mám zastaviť. S týmto prístupom som mal vždy šťastie.

Som si tiež vedomý toho, že si Excel niekedy myslí, že posledný riadok niekde existuje, ale riadok je v skutočnosti prázdny. Po importovaní údajov som to videl niekoľkokrát. Od spoločnosti BeyondTechnology:

Objekt pracovného hárka UsedRange nefunguje vždy, pretože použitý rozsah (alebo „špinavá oblasť“) tabuľky môže byť väčší ako oblasť skutočne obsadená vašimi záznamami.

wave wave wave wave wave