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.