VBA brugt område - tæl antallet af brugte rækker eller kolonner - eksempler på VBA -kode

UsedRange - Find sidst brugte celle, kolonne eller række

Følgende kode returnerer en meddelelsesboks, der angiver det samlede antal rækker, der bruges i et regneark. Tomme rækker betragtes som anvendte, hvis data følger den tomme række.

1 MsgBox ActiveSheet.UsedRange.Rows.Count

Skal du køre en loop ned ad et ark, men ved ikke, hvor dataene stopper? ActiveSheet.UsedRange.Rows.Count kan hjælpe.

Sæt dette i et modul:

123456789 Sub LastRow ()Dim LastRow som heltalLastRow = ActiveSheet.UsedRange.Rows.CountMsgBox LastRowAfslut Sub
123456789 Sub LastCol ()Dim LastCol som heltalLastCol = ActiveSheet.UsedRange.Col.CountMsgBox LastColAfslut Sub

Find den første tomme celle

Ved hjælp af VBA skal du muligvis skrive til den første tomme celle eller efter den sidste række, der blev brugt i en kolonne. Der er ingen grund til at sløjfe for at finde dette, følgende kode gør det for dig.

I dette eksempel vil koden skrive "FirstEmpty" i den første tomme celle i kolonne "d"

1234 Offentlig sub efter sidste ()ActiveSheet.Range ("d" & ActiveSheet.Rows.Count) .End (xlUp) .Offset (1, 0) .Value = "FirstEmpty"Afslut Sub

Tæl brugte kolonner i regneark

Følgende kode returnerer det samlede antal kolonner, der bruges i et regneark, i en meddelelsesboks. Tomme kolonner betragtes som anvendt, hvis data følger den tomme kolonne.

1 MsgBox ActiveSheet.UsedRange.Columns.Count

Sidst brugte celle - Problemer

Når jeg skal For … Næste … Loop gennem en hel kolonne, jeg bruger normalt ActiveSheet.UsedRange.Rows.Count for at finde, hvor jeg skal stoppe. Jeg har altid haft held med denne fremgangsmåde.

Jeg er også opmærksom på, at Excel lejlighedsvis tror, ​​at den sidste række findes et sted, men rækken er faktisk tom. Jeg har set dette et par gange efter import af data. Fra BeyondTechnology:

Objektets regneark UsedRange fungerer ikke altid, fordi det anvendte område (eller "snavsede område") i et regneark kan være større end det område, der faktisk er fyldt med dine poster.

wave wave wave wave wave