Activecell Offset VBA

Denna handledning visar hur du använder Activecell Offset i VBA.

ActiveCell är en egenskap hos VBA som representerar celladressen för den aktiva cellen i ditt kalkylblad. Om din muspekare är placerad i cell A1 kommer ActiveCell -egenskapen i VBA att returnera celladressen till "A1". Det är ett antal egenskaper och metoder som är kopplade till ActiveCell. I den här artikeln koncentrerar vi oss på metoden ActiveCell.Offset.

ActiveCell.Offset egenskaper och metoder

Activecell.Offset har ett antal egenskaper och metoder tillgängliga för att programmeras med VBA. Om du vill se de tillgängliga egenskaperna och metoderna skriver du följande uttalande i en procedur som visas nedan och trycker på punktstangenten på tangentbordet för att se en rullgardinsmeny.

Metoder avbildas med den gröna metodikonen och egenskaperna med ikonen för den lilla handen. Egenskaperna och metoderna för Activecell.Offset -metoden är desamma som för Activecell -metoden.

ActiveCell.Offset Syntax

Syntaxen för Activecell.Offset är följande

där RowOffset och ColumnOffset är antalet rader som ska förskjutas (positiva siffror för ned, negativt tal för upp) eller antalet kolumner du önskar förskjutning (positiva tal förskjuter till höger, negativt tal till vänster).

ActiveCell.Offset … Välj

De Activecell.Offset … Välj metoden är den vanligaste metoden för med Activecell.Offset -metoden. Det låter dig flytta till en annan cell i ditt kalkylblad. Du kan använda den här metoden för att flytta över kolumner eller uppåt eller nedåt rader i kalkylbladet.

För att flytta ner en rad, men stanna i samma kolumn:

1 Activecell.Offset (1,0) .Välj

För att flytta över en kolumn, men stanna på samma rad:

1 Activecell.Offset (0,1) .Välj

Så här flyttar du ner en rad och över en kolumn:

1 Activecell.Offset (1,1) .Välj

Så här flyttar du upp en rad:

1 Activecell.Offset (-1,0) .Välj

För att flytta till vänster i en kolumn:

1 Activecell.Offset (0, -1) .Välj

I proceduren nedan går vi igenom en rad celler och går ner en rad och över en kolumn när vi gör slingan:

12345678 Sub ActiveCellTest ()Dim x Som heltalOmråde ("A1"). VäljFör x = 1 till 10ActiveCell = xActiveCell.Offset (1, 1) .VäljNästa xAvsluta Sub

Resultatet visas i grafiken nedan:

Loopen sätter värdet på i (1-10) i Activecell, och sedan använder den Activecell.Offset egenskap för att flytta ner en rad och över en kolumn till höger - upprepa denna loop 10 gånger.

VBA -programmering | Kodgenerator fungerar för dig!

Använda Range Object med Activecell.Offset Select

Att använda intervallobjektet med den aktiva cellen kan ibland förvirra vissa människor.

Tänk på följande procedur:

1234 Sub ActiveCellOffsetRange ()Område ("B1: B10"). VäljActiveCell.Offset (1, 1) .Range ("A1"). VäljAvsluta Sub

Med ActiveCell.Offset (1,1.Range ("A1") har intervallet ("A1") angetts. Detta betyder dock inte att cell A1 i arket kommer att väljas. Som vi har angett intervallet ("B1: B10"), cell A1 i det intervallet är faktiskt cell B1 i arbetsboken. Därför kommer cellen att förskjutas av 1 rad och 1 kolumn från cell B1 INTE från cell A1.

Därför krävs inte intervallet (“A1 ′) i det här fallet eftersom makrot fungerar på samma sätt med det eller utan det.

Alternativ till ActiveCell

Istället för att använda Activecell med Offset -metoden kan vi också använda Range -objektet med Offset -metoden.

123 Sub RangeOffset ()Område ("B1"). Offset (0, 1) .VäljAvsluta Sub

Proceduren ovan skulle välja cell C1 i kalkylbladet.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave