Activecell Offset VBA

Denne opplæringen vil demonstrere hvordan du bruker Activecell Offset i VBA.

ActiveCell er en egenskap for VBA som representerer celleadressen til den aktive cellen i regnearket. Hvis musepekeren er plassert i celle A1, vil ActiveCell -egenskapen i VBA returnere celleadressen til "A1". Det er en rekke egenskaper og metoder som er koblet til ActiveCell. I denne artikkelen konsentrerer vi oss om metoden ActiveCell.Offset.

ActiveCell.Offset egenskaper og metoder

Activecell.Offset har en rekke egenskaper og metoder tilgjengelig for programmering med VBA. For å se tilgjengelige egenskaper og metoder, skriver du inn følgende setning i en prosedyre som vist nedenfor, og trykker på periodetasten på tastaturet for å se en rullegardinliste.

Metoder er avbildet med det grønne metodeikonet, og egenskaper ved ikonet for liten hånd. Egenskapene og metodene for Activecell.Offset -metoden er de samme som for Activecell -metoden.

ActiveCell.Offset Syntax

Syntaksen til Activecell.Offset er som følger

hvor RowOffset og ColumnOffset er antallet rader som skal forskyves (positive tall for ned, negative tall for opp) eller antall kolonner du ønsker forskyvning (positive tall forskyver til høyre, negative tall til venstre).

ActiveCell.Offset … Velg

De Activecell.Offset … Velg metoden er den mest brukte metoden for med Activecell.Offset -metoden. Den lar deg flytte til en annen celle i regnearket. Du kan bruke denne metoden til å flytte over kolonner eller opp eller ned rader i regnearket.

For å flytte nedover en rad, men bli i samme kolonne:

1 Activecell.Offset (1,0) .Velg

Slik flytter du over en kolonne, men holder deg på samme rad:

1 Activecell.Offset (0,1) .Velg

Slik går du nedover en rad og over en kolonne:

1 Activecell.Offset (1,1) .Velg

Slik går du opp en rad:

1 Activecell.Offset (-1,0) .Velg

Slik flytter du en kolonne til venstre:

1 Activecell.Offset (0, -1) .Velg

I prosedyren nedenfor går vi gjennom en rekke celler og beveger oss nedover en rad, og over en kolonne mens vi gjør løkken:

12345678 Sub ActiveCellTest ()Dim x Som heltallOmråde ("A1"). VelgFor x = 1 til 10ActiveCell = xActiveCell.Offset (1, 1) .VelgNeste xSlutt Sub

Resultatet av dette er vist i grafikken nedenfor:

Loop setter verdien av i (1-10) inn i Activecell, og deretter bruker den Activecell.Offset eiendom for å flytte ned en rad, og over en kolonne til høyre - gjenta denne løkken 10 ganger.

VBA -programmering | Kodegenerator fungerer for deg!

Bruke rekkeviddeobjekt med Activecell.Offset Select

Noen ganger kan det forvirre noen mennesker å bruke rekkeviddeobjektet med den aktive cellen.

Vurder følgende prosedyre:

1234 Sub ActiveCellOffsetRange ()Område ("B1: B10"). VelgActiveCell.Offset (1, 1) .Range ("A1"). VelgSlutt Sub

Med ActiveCell.Offset (1,1.Range ("A1") har området ("A1") blitt spesifisert. Dette betyr imidlertid ikke at celle A1 i arket vil bli valgt. Som vi har spesifisert området ("B1: B10"), celle A1 i dette området er faktisk celle B1 i arbeidsboken. Derfor blir cellen forskjøvet med 1 rad og 1 kolonne fra celle B1 IKKE fra celle A1.

Derfor er området ("A1 ′) i dette tilfellet ikke nødvendig, da makroen vil fungere på samme måte med den eller uten den.

Alternativer til ActiveCell

I stedet for å bruke Activecell med Offset -metoden, kan vi også bruke Range -objektet med Offset -metoden.

123 Sub RangeOffset ()Område ("B1"). Offset (0, 1) .VelgSlutt Sub

Fremgangsmåten ovenfor vil velge celle C1 i regnearket.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave