Activecell Offset VBA

Denne vejledning viser, hvordan du bruger Activecell Offset i VBA.

ActiveCell er en egenskab for VBA, der repræsenterer celleadressen for den aktive celle i dit regneark. Hvis din musemarkør er placeret i celle A1, returnerer egenskaben ActiveCell i VBA celleadressen til "A1". Det er en række egenskaber og metoder, der er forbundet til ActiveCell. I denne artikel koncentrerer vi os om metoden ActiveCell.Offset.

ActiveCell.Offset egenskaber og metoder

Activecell.Offset har en række egenskaber og metoder, der kan programmeres med VBA. Hvis du vil se de tilgængelige egenskaber og metoder, skal du indtaste følgende erklæring i en procedure som vist nedenfor, og trykke på punktumtasten på tastaturet for at se en rulleliste.

Metoder er afbildet med det grønne metodeikon og egenskaber ved ikonet med den lille hånd. Egenskaberne og metoderne for Activecell.Offset -metoden er de samme som for Activecell -metoden.

ActiveCell.Offset Syntax

Syntaksen for Activecell.Offset er som følger

hvor RowOffset og ColumnOffset er antallet af rækker, der skal forskydes (positive tal for ned, negativt tal for op) eller antallet af kolonner, du ønsker forskydning (positive tal forskydes til højre, negative tal til venstre).

ActiveCell.Offset … Vælg

Det Activecell.Offset … Vælg metode er den mest almindeligt anvendte metode til med Activecell.Offset metode. Det giver dig mulighed for at flytte til en anden celle i dit regneark. Du kan bruge denne metode til at flytte på tværs af kolonner eller op eller ned af rækker i dit regneark.

Sådan bevæger du dig ned ad en række, men forbliver i den samme kolonne:

1 Activecell.Offset (1,0) .Vælg

Sådan bevæger du dig over en kolonne, men forbliver i samme række:

1 Activecell.Offset (0,1) .Vælg

Sådan går du ned ad en række og på tværs af en kolonne:

1 Activecell.Offset (1,1) .Vælg

Sådan flytter du en række op:

1 Activecell.Offset (-1,0) .Vælg

Sådan flytter du en kolonne til venstre:

1 Activecell.Offset (0, -1) .Vælg

I proceduren herunder går vi gennem en række celler og bevæger os ned ad en række og på tværs af en kolonne, mens vi gør løkken:

12345678 Sub ActiveCellTest ()Dim x Som heltalOmråde ("A1"). VælgFor x = 1 til 10ActiveCell = xActiveCell.Offset (1, 1) .VælgNæste xAfslut Sub

Resultatet heraf er vist i grafikken herunder:

Loop sætter værdien af ​​i (1-10) i Activecell, og derefter bruger den Activecell.Offset egenskab for at flytte ned en række og over en kolonne til højre - gentag denne loop 10 gange.

VBA -programmering | Kodegenerator virker for dig!

Brug af områdeobjekt med Activecell.Offset Select

Nogle gange kan forvirre nogle mennesker ved at bruge områdeobjektet med den aktive celle.

Overvej følgende procedure:

1234 Sub ActiveCellOffsetRange ()Område ("B1: B10"). VælgActiveCell.Offset (1, 1) .Range ("A1"). VælgAfslut Sub

Med ActiveCell.Offset (1,1.Range ("A1") er området ("A1") blevet specificeret. Dette betyder dog ikke, at celle A1 i arket bliver valgt. Som vi har angivet området ("B1: B10"), celle A1 i dette område er faktisk celle B1 i projektmappen. Derfor vil cellen blive forskudt med 1 række og 1 kolonne fra celle B1 IKKE fra celle A1.

Derfor er området ("A1 ′) i dette tilfælde ikke påkrævet, da makroen fungerer på samme måde med den eller uden den.

Alternativer til ActiveCell

I stedet for at bruge Activecell med Offset -metoden kan vi også bruge Range -objektet med Offset -metoden.

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

Fremgangsmåden ovenfor ville vælge celle C1 i regnearket.

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave