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.