VBA begagnat intervall - Räkna antalet använda rader eller kolumner - exempel på VBA -kod

UsedRange - Hitta senast använda cell, kolumn eller rad

Följande kod returnerar en meddelanderuta som anger det totala antalet rader som används i ett kalkylblad. Tomma rader anses användas om data följer den tomma raden.

1 MsgBox ActiveSheet.UsedRange.Rows.Count

Måste du köra en loop i ett ark men vet inte var data slutar? ActiveSheet.UsedRange.Rows.Count kan hjälpa.

Lägg detta i en modul:

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

Hitta första tomma cellen

Med VBA kan du behöva skriva till den första tomma cellen eller efter den sista raden som används i en kolumn. Det finns ingen anledning att slinga för att hitta detta, följande kod gör det åt dig.

I det här exemplet kommer koden att skriva "FirstEmpty" i den första tomma cellen i kolumnen "d"

1234 Public Sub AfterLast ()ActiveSheet.Range ("d" & ActiveSheet.Rows.Count) .End (xlUp) .Offset (1, 0) .Value = "FirstEmpty"Avsluta Sub

Räkna använda kolumner i kalkylblad

Följande kod returnerar det totala antalet kolumner som används i ett kalkylblad i en meddelanderuta. Tomma kolumner anses användas om data följer den tomma kolumnen.

1 MsgBox ActiveSheet.UsedRange.Columns.Count

Senast använda cell - problem

När jag behöver För … Nästa … Bläddra igenom en hel kolumn använder jag vanligtvis ActiveSheet.UsedRange.Rows.Count för att hitta var jag ska sluta. Jag har alltid haft lycka till med detta tillvägagångssätt.

Jag är också medveten om att Excel ibland tror att den sista raden finns någonstans, men raden är faktiskt tom. Jag har sett detta några gånger efter att ha importerat data. Från BeyondTechnology:

Objektets arbetsblad UsedRange fungerar inte alltid eftersom det använda intervallet (eller "smutsigt område") i ett kalkylblad kan vara större än det område som faktiskt fylls med dina poster.

wave wave wave wave wave