UsedRange - Najděte naposledy použitou buňku, sloupec nebo řádek
Následující kód vrátí okno se zprávou označující celkový počet řádků použitých v listu. Prázdné řádky jsou považovány za použité, pokud za prázdným řádkem následují data.
1 | MsgBox ActiveSheet.UsedRange.Rows.Count |
Musíte spustit smyčku po listu, ale nevíte, kde se data zastaví? Může pomoci ActiveSheet.UsedRange.Rows.Count.
Vložte to do modulu:
123456789 | Sub LastRow ()Dim LastRow jako celé čísloLastRow = ActiveSheet.UsedRange.Rows.CountMsgBox LastRowEnd Sub |
123456789 | Sub LastCol ()Dim LastCol jako celé čísloLastCol = ActiveSheet.UsedRange.Col.CountMsgBox LastColEnd Sub |
Najděte první prázdnou buňku
Pomocí VBA možná budete muset zapsat do první prázdné buňky nebo za poslední řádek použitý ve sloupci. Abyste to našli, není třeba smyčku provádět, následující kód to udělá za vás.
V tomto případě kód napíše „FirstEmpty“ do první prázdné buňky ve sloupci „d“
1234 | Veřejné Sub AfterLast ()ActiveSheet.Range ("d" & ActiveSheet.Rows.Count) .End (xlUp) .Offset (1, 0) .Value = "FirstEmpty"End Sub |
Spočítat použité sloupce v listu
Následující kód vrátí do pole se zprávou celkový počet sloupců použitých v listu. Prázdné sloupce jsou považovány za použité, pokud za prázdným sloupcem následují data.
1 | MsgBox ActiveSheet.UsedRange.Columns.Count |
Poslední použitá buňka - problémy
Když potřebuji Pro… Další… Projít celý sloupec, obvykle používám ActiveSheet.UsedRange.Rows.Count, abych zjistil, kde zastavit. S tímto přístupem jsem měl vždy štěstí.
Jsem si také vědom toho, že si Excel občas myslí, že poslední řádek někde existuje, ale řádek je ve skutečnosti prázdný. Po importu dat jsem to viděl několikrát. Od BeyondTechnology:
Objekt listu Použitý rozsah nefunguje vždy, protože použitý rozsah (nebo „špinavá oblast“) tabulky může být větší než oblast skutečně naplněná vašimi záznamy.