VBA OFFSET-functie - Excel VBA Offset-eigenschap gebruiken (voorbeeld)

Excel VBA OFFSET-functie

VBA Offset- functie wordt gebruikt om een ​​referentie te verplaatsen of te verwijzen naar een bepaald aantal rijen en kolommen, de argumenten voor deze functie in VBA zijn hetzelfde als voor de argumenten in het werkblad.

Stel dat u een set gegevens heeft zoals de onderstaande.

Nu wil je vanuit cel A1 4 cellen naar beneden gaan, en je wilt die 5 de cel selecteren, dat wil zeggen A5 cel.

Evenzo, als u vanaf cel A1 2 rijen omlaag wilt gaan en 2 kolommen naar rechts wilt gaan en die cel wilt selecteren, dwz cel C2.

In deze gevallen is de OFFSET-functie erg handig. Vooral in VBA OFFSET-functie is gewoon fenomenaal.

OFFSET wordt gebruikt met Range Object in Excel VBA

In VBA kunnen we het woord OFFSET niet rechtstreeks invoeren. We moeten eerst het VBA RANGE-object gebruiken en van dat range-object kunnen we de OFFSET-eigenschap gebruiken.

In Excel is het bereik niets anders dan een cel of bereik van de cel. Omdat OFFSET verwijst naar cellen, moeten we eerst het object RANGE gebruiken en daarna kunnen we de OFFSET-methode gebruiken.

Syntaxis van OFFSET in VBA Excel

  • Rij-offset: hoeveel rijen u wilt verschuiven ten opzichte van de geselecteerde cel. De hier geselecteerde cel is A1, dwz Bereik ("A1").
  • Kolomverschuiving: hoeveel kolommen u wilt verschuiven ten opzichte van de geselecteerde cel. Hier is de geselecteerde cel A, 1, dwz bereik ("A1").

Voorbeelden

Voorbeeld 1

Beschouw de onderstaande gegevens bijvoorbeeld als demonstratie.

Nu wil ik cel A6 selecteren uit cel A1. Start de macro en de referentiecel met behulp van het Range-object.

Code:

Sub Offset_Example1 () Bereik ("A1"). Offset (End Sub

Nu wil ik de cel A6 selecteren, dwz ik wil 5 cellen naar beneden doen. Voer dus 5 in als parameter voor Rij-offset.

Code:

Sub Offset_Example1 () Bereik ("A1"). Offset (5 End Sub

Omdat ik in dezelfde kolom selecteer, laat ik het kolomgedeelte weg. Sluit de haak en plaats een punt (.) En typ de methode 'Selecteren'.

Code:

Sub Offset_Example1 () Bereik ("A1"). Offset (5). Selecteer End Sub

Voer deze code nu uit met behulp van de F5-toets, of u kunt handmatig uitvoeren om de cel A6 te selecteren, zoals hieronder wordt weergegeven.

Uitgang:

Voorbeeld 2

Neem nu dezelfde gegevens, maar hier ziet u hoe u ook het argument voor kolomverschuiving kunt gebruiken. Nu wil ik de cel C5 selecteren.

Omdat ik eerst de cel C5 wil selecteren, wil ik 4 cellen naar beneden gaan en de juiste 2 kolommen nemen om cel C5 te bereiken. De onderstaande code zou het werk voor mij doen.

Code:

Sub Offset_Example2 () Bereik ("A1"). Offset (4, 2). Selecteer End Sub

Ik voer deze code handmatig uit of gebruik de F5-toets. Vervolgens selecteert het de cel C5, zoals weergegeven in de onderstaande schermafbeelding.

Uitgang:

Voorbeeld # 3

We hebben gezien hoe rijen en kolommen te verschuiven. We kunnen ook de bovenstaande cellen uit de opgegeven cellen selecteren. Als u zich bijvoorbeeld in cel A10 bevindt en u wilt cel A1 selecteren, hoe selecteert u dan?

In het geval dat we de cel naar beneden gaan, kunnen we een positief getal invoeren, dus in het geval dat we naar boven gaan, moeten we negatieve getallen invoeren.

Vanaf cel A9 moeten we 8 rijen omhoog gaan, dwz -8.

Code:

Sub Offset_Example1 () Bereik ("A9"). Offset (-8). Selecteer End Sub

Als u deze code uitvoert met de F5-toets of u kunt deze code handmatig uitvoeren, wordt de cel A1 uit A9-cel geselecteerd.

Uitgang:

Voorbeeld # 4

Stel dat u zich in cel C8 bevindt. Vanuit deze cel wilt u de cel A10 selecteren.

Vanuit de actieve cel, l, dwz cel C8, moeten we eerst 2 rijen naar beneden gaan, en we moeten 2 kolommen naar links om de cel A10 te selecteren.

Als we naar links gaan om de kolom te selecteren, moeten we specificeren dat het getal negatief is. Dus hier moeten we terugkomen met -2 kolommen.

Code:

Sub Offset_Example2 () Bereik ("C8"). Offset (2, -2). Selecteer End Sub

Voer nu deze code uit met behulp van de F5-toets of voer handmatig uit, het zal de A10-cel selecteren zoals hieronder weergegeven:

Uitgang:

Dingen om te onthouden

  • Als we rijen omhoog gaan, moeten we het aantal in negatieven specificeren.
  • Als u naar links gaat om de kolom te selecteren, moet het getal negatief zijn.
  • A1-cel is de eerste rij en de eerste kolom.
  • Actieve cel betekent momenteel geselecteerde cellen.
  • Als je de cel wilt selecteren met OFFSET, moet je '.Select' vermelden .
  • Als u de cel wilt kopiëren met OFFSET, moet u ".Copy" vermelden.

Interessante artikelen...