VBA OFFSET-funktion - Så här använder du Excel VBA Offset Property (exempel)

Innehållsförteckning

Excel VBA OFFSET-funktion

VBA Offset- funktionen används för att flytta eller hänvisa till en referens som hoppar över ett visst antal rader och kolumner. Argumenten för denna funktion i VBA är desamma som för argumenten i kalkylbladet.

Antag till exempel att du har en uppsättning data som den nedan.

Nu från cell A1 vill du flytta ner 4 celler och du vill välja den femte cellen, dvs A5-cellen.

På samma sätt, om du vill flytta ner från A1-cell 2-rader och gå 2 kolumner till höger och markera den cellen, dvs C2-cellen.

I dessa fall är OFFSET-funktionen till stor hjälp. Speciellt i VBA OFFSET är funktionen bara fenomenal.

OFFSET används med Range Object i Excel VBA

I VBA kan vi inte ange ordet OFFSET direkt. Vi måste först använda VBA RANGE-objektet och från det intervallobjektet kan vi använda OFFSET-egenskapen.

I Excel är intervallet ingenting annat än en cell eller ett cellintervall. Eftersom OFFSET hänvisar till celler måste vi först använda objektet RANGE och sedan kan vi använda OFFSET-metoden.

Syntax för OFFSET i VBA Excel

  • Radförskjutning: Hur många rader du vill kompensera från den valda cellen. Här är vald cell A1, dvs. Range (“A1”).
  • Kolumnoffset: Hur många kolumner du vill kompensera från den valda cellen. Här är den valda cellen A, 1, dvs Range (“A1”).

Exempel

Exempel 1

Tänk på nedanstående data, till exempel demonstration.

Nu vill jag välja cellen A6 från cellen A1. Starta makro- och referenscellen med Range-objektet.

Koda:

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

Nu vill jag välja cellen A6, dvs jag vill göra ner 5 celler. Så ange 5 som parameter för radförskjutning.

Koda:

Sub Offset_Example1 () Range ("A1") offset (5 End Sub

Eftersom jag väljer i samma kolumn utelämnar jag kolumndelen. Stäng fästet och sätt en punkt (.) Och skriv metoden "Välj".

Koda:

Sub Offset_Example1 () Range ("A1") Offset (5). Välj End Sub

Kör nu den här koden med F5-tangenten, eller så kan du köra manuellt för att välja cellen A6 enligt bilden nedan.

Produktion:

Exempel 2

Ta nu samma data men här kommer du att se hur du använder kolumnoffsetargumentet också. Nu vill jag välja cellen C5.

Eftersom jag vill välja cellen C5 först vill jag flytta ner 4 celler och ta rätt två kolumner för att nå cellen C5. Nedanstående kod skulle göra jobbet för mig.

Koda:

Sub Offset_Example2 () Range ("A1") Offset (4, 2). Välj End Sub

Jag kör den här koden manuellt eller med F5-tangenten. Därefter väljer den cellen C5, som visas i skärmdumpen nedan.

Produktion:

Exempel # 3

Vi har sett hur man kompenserar rader och kolumner. Vi kan också välja ovanstående celler från de angivna cellerna. Om du till exempel befinner dig i cellen A10 och vill välja A1-cellen, hur väljer du det?

Om vi ​​flyttar ner i cellen kan vi ange ett positivt tal, så här om vi flyttar upp måste vi ange negativa siffror.

Från A9-cellen måste vi flytta upp med 8 rader, dvs. -8.

Koda:

Sub Offset_Example1 () Range ("A9") Offset (-8). Välj End Sub

Om du kör den här koden med F5-tangenten eller om du kan köra den här koden manuellt kommer den att välja cellen A1 från A9-cellen.

Produktion:

Exempel 4

Antag att du befinner dig i cellen C8. Från den här cellen vill du välja cell A10.

Från den aktiva cellen, dvs C8-cellen, måste vi först flytta ner två rader och vi måste flytta till vänster med två kolumner för att välja cellen A10.

Om du flyttar åt vänster för att välja kolumnen måste vi ange att antalet är negativt. Så här måste vi komma tillbaka med -2 ​​kolumner.

Koda:

Sub Offset_Example2 () Range ("C8") Offset (2, -2). Välj End Sub

Kör nu den här koden med F5-tangenten eller kör manuellt, den väljer A10-cellen som visas nedan:

Produktion:

Saker att komma ihåg

  • Om vi ​​flyttar upp rader måste vi ange antalet i negativ.
  • Om du flyttar åt vänster för att välja kolumnen ska numret vara negativt.
  • A1-cellen är den första raden och den första kolumnen.
  • Aktiv cell betyder för närvarande utvalda celler.
  • Om du vill välja cellen med OFFSET måste du nämna ".Välj."
  • Om du vill kopiera cellen med OFFSET måste du nämna ".Copy."

Intressanta artiklar...