UsedRange - Vind laatst gebruikte cel, kolom of rij
De volgende code retourneert een berichtvenster met het totale aantal rijen dat in een werkblad wordt gebruikt. Lege rijen worden als gebruikt beschouwd als de gegevens de lege rij volgen.
1 | MsgBox ActiveSheet.UsedRange.Rows.Count |
Moet u een lus door een blad lopen, maar weet u niet waar de gegevens stoppen? ActiveSheet.UsedRange.Rows.Count kan helpen.
Zet dit in een module:
123456789 | Sub laatste rij()Dim laatste rij als geheel getalLastRow = ActiveSheet.UsedRange.Rows.CountMsgBox Laatste RijEinde sub |
123456789 | Sub LaatsteKol()Dim LastCol As IntegerLastCol = ActiveSheet.UsedRange.Col.CountMsgBox LaatsteKolEinde sub |
Zoek eerste lege cel
Als u VBA gebruikt, moet u mogelijk naar de eerste lege cel schrijven of na de laatste rij in een kolom. Het is niet nodig om een lus te maken om dit te vinden, de volgende code doet het voor u.
In dit voorbeeld schrijft de code "FirstEmpty" in de eerste lege cel in kolom "d"
1234 | Openbare sub AfterLast()ActiveSheet.Range("d" & ActiveSheet.Rows.Count).End(xlUp).Offset(1, 0).Value = "FirstEmpty"Einde sub |
Gebruikte kolommen tellen in werkblad
De volgende code retourneert in een berichtvenster het totale aantal kolommen dat in een werkblad wordt gebruikt. Lege kolommen worden als gebruikt beschouwd als de gegevens de lege kolom volgen.
1 | MsgBox ActiveSheet.UsedRange.Columns.Count |
Laatst gebruikte cel - Problemen
Wanneer ik moet Voor… Volgende… Doorloop een hele kolom Ik gebruik meestal ActiveSheet.UsedRange.Rows.Count om te vinden waar te stoppen. Ik heb altijd veel geluk gehad met deze aanpak.
Ik ben me er ook van bewust dat Excel af en toe denkt dat de laatste rij ergens bestaat, maar de rij is eigenlijk leeg. Ik heb dit een paar keer gezien na het importeren van gegevens. Van BeyondTechnology:
Het werkbladobject GebruiktBereik werkt niet altijd omdat het gebruikte bereik (of "vuile gebied") van een spreadsheet groter kan zijn dan het gebied dat daadwerkelijk met uw records is gevuld.