Activecell-offset VBA

Deze tutorial laat zien hoe je Activecell Offset in VBA kunt gebruiken.

De ActiveCell is een eigenschap van VBA die het celadres van de actieve cel in uw werkblad vertegenwoordigt. Als uw muisaanwijzer zich in cel A1 bevindt, retourneert de eigenschap ActiveCell in VBA het celadres van "A1". Het zijn een aantal eigenschappen en methoden die zijn verbonden met de ActiveCell. In dit artikel concentreren we ons op de ActiveCell.Offset-methode.

Eigenschappen en methoden van ActiveCell.Offset

Activecell.Offset heeft een aantal eigenschappen en methoden die kunnen worden geprogrammeerd met VBA. Om de beschikbare eigenschappen en methoden te bekijken, typt u de volgende instructie in een procedure zoals hieronder weergegeven en drukt u op de punttoets op het toetsenbord om een ​​vervolgkeuzelijst te zien.

Methoden worden weergegeven door het groene methodepictogram en eigenschappen door het kleine handpictogram. De eigenschappen en methoden voor de Activecell.Offset-methode zijn hetzelfde als voor de Activecell-methode.

ActiveCell.Offset-syntaxis

De syntaxis van Activecell.Offset is als volgt:

waarbij de RowOffset en ColumnOffset het aantal te verschuiven rijen is (positieve getallen voor omlaag, negatief getal voor omhoog) of het aantal kolommen dat u wilt verschuiven (positieve getallen verschuivingen naar rechts, negatief getal naar links).

ActiveCell.Offset… Selecteer

De Activecell.Offset… Selecteer methode is de meest gebruikte methode voor met Activecell.Offset methode. Hiermee kunt u naar een andere cel in uw werkblad gaan. U kunt deze methode gebruiken om over kolommen of rijen omhoog of omlaag in uw werkblad te gaan.

Om een ​​rij naar beneden te gaan, maar in dezelfde kolom te blijven:

1 Activecell.Offset(1,0).Selecteer

Om over een kolom te bewegen, maar in dezelfde rij te blijven:

1 Activecell.Offset (0,1).Selecteer

Om een ​​rij omlaag en over een kolom te gaan:

1 Activecell.Offset (1,1).Selecteer

Een rij omhoog gaan:

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

Een kolom naar links verplaatsen:

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

In de onderstaande procedure doorlopen we een reeks cellen en gaan we een rij naar beneden en over een kolom terwijl we de lus doen:

12345678 Sub ActiveCellTest()Dim x als geheel getalBereik ("A1"). SelecteerVoor x = 1 tot 10ActiveCell = xActiveCell.Offset(1, 1).SelecteerVolgende xEinde sub

Het resultaat hiervan is te zien in onderstaande grafiek:

The Loop zet de waarde van i (1-10) in de Actieve cel, en dan gebruikt het de Activecell.Offset eigenschap om één rij naar beneden en één kolom naar rechts te verplaatsen - deze lus 10 keer herhalen.

VBA-programmering | Code Generator werkt voor u!

Bereikobject gebruiken met Activecell.Offset Select

Het gebruik van het bereikobject met de actieve cel kan sommige mensen soms verwarren.

Overweeg de volgende procedure:

1234 Sub ActiveCellOffsetRange()Bereik ("B1: B10"). SelecteerActiveCell.Offset(1, 1).Bereik("A1").SelecteerEinde sub

Met de ActiveCell.Offset(1,1.Range(“A1”), is het bereik (“A1”) gespecificeerd. Dit betekent echter niet dat cel A1 in het blad wordt geselecteerd. Omdat we het bereik hebben gespecificeerd ("B1:B10"), cel A1 in dat bereik is eigenlijk cel B1 in de werkmap. Daarom wordt de cel verschoven met 1 rij en 1 kolom van cel B1 NIET van cel A1.

Daarom is het bereik ("A1") in dit geval niet vereist, omdat de macro er op dezelfde manier mee werkt of zonder.

Alternatieven voor ActiveCell

In plaats van Activecell te gebruiken met de Offset-methode, kunnen we ook het Range-object gebruiken met de Offset-methode.

123 SubbereikOffset()Bereik ("B1"). Offset (0, 1). SelecteerEinde sub

De bovenstaande procedure zou cel C1 in het werkblad selecteren.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave