VBA brukt område - tell antall brukte rader eller kolonner - eksempler på VBA -kode

UsedRange - Finn siste brukte celle, kolonne eller rad

Følgende kode vil returnere en meldingsboks som angir totalt antall rader som brukes i et regneark. Tomme rader regnes som brukt hvis data følger den tomme raden.

1 MsgBox ActiveSheet.UsedRange.Rows.Count

Må du kjøre en sløyfe nedover et ark, men vet ikke hvor dataene stopper? ActiveSheet.UsedRange.Rows.Count kan hjelpe.

Sett dette i en modul:

123456789 Sub LastRow ()Dim LastRow som heltallLastRow = ActiveSheet.UsedRange.Rows.CountMsgBox LastRowSlutt Sub
123456789 Sub LastCol ()Dim LastCol som heltallLastCol = ActiveSheet.UsedRange.Col.CountMsgBox LastColSlutt Sub

Finn den første tomme cellen

Ved å bruke VBA må du kanskje skrive til den første tomme cellen, eller etter den siste raden som ble brukt i en kolonne. Det er ikke nødvendig å sløyfe for å finne dette, følgende kode gjør det for deg.

I dette eksemplet vil koden skrive "FirstEmpty" i den første tomme cellen i kolonnen "d"

1234 Offentlig sub etter siste ()ActiveSheet.Range ("d" & ActiveSheet.Rows.Count) .End (xlUp) .Offset (1, 0) .Value = "FirstEmpty"Slutt Sub

Teller brukte kolonner i regnearket

Følgende kode vil returnere det totale antallet kolonner som brukes i et regneark i en meldingsboks. Tomme kolonner regnes som brukt hvis data følger den tomme kolonnen.

1 MsgBox ActiveSheet.UsedRange.Columns.Count

Sist brukte celle - problemer

Når jeg trenger For … Neste … Sløyfe gjennom en hel kolonne bruker jeg vanligvis ActiveSheet.UsedRange.Rows.Count for å finne hvor jeg skal stoppe. Jeg har alltid hatt lykke til med denne tilnærmingen.

Jeg er også klar over at Excel av og til tror at den siste raden finnes et sted, men at raden faktisk er tom. Jeg har sett dette noen ganger etter at jeg importerte data. From BeyondTechnology:

Objektets regneark UsedRange fungerer ikke alltid fordi det brukte området (eller "skittent område") i et regneark kan være større enn området som faktisk befolket med postene dine.

wave wave wave wave wave