Hur du använder VBA Range Offset (11 sätt)

  • Dela Detta
Hugh West

Om du letar efter några av de enklaste sätten att använda VBA Range Offset, så kommer du att tycka att den här artikeln är värd att läsa. Låt oss börja med hur man använder VBA Förskjutning av området.

Ladda ner arbetsboken

VBA-intervallförskjutning.xlsm

11 sätt att använda VBA Range Offset på

Jag har följande datatabell som innehåller information om några studenter på en högskola. Med hjälp av denna datamängd ska jag förklara hur man kan använda VBA Förskjutning av området.

För detta ändamål har jag använt mig av Microsoft Excel 365 versionen, men du kan använda andra versioner när det passar dig.

Metod-1: Välja en cell med hjälp av VBA Range

Här väljer vi en cell som innehåller namnet Daniel Defoe. För detta ändamål använder vi RANGE-funktion VBA .

Step-01 :

➤Gå till Utvecklare Fliken>> Visual Basic Alternativ

Därefter är det Redigerare för Visual Basic kommer att öppnas.

➤Gå till Infoga Fliken>> Modul Alternativ

Efter detta kommer en Modul kommer att skapas.

Step-02 :

➤Skriv följande kod

 Sub SelectCell() Range("B8").Select End Sub 

Den kommer att välja cell B8 .

➤Press F5

Resultat :

På detta sätt får du cellen som innehåller Daniel Defoe vald.

Läs mer: Hur du använder Range Object i VBA i Excel

Metod-2: Välja en grupp av sammanhängande celler med hjälp av VBA Range

Du kan välja ett område med sammanhängande celler som i Elevens namn kolumnen och den Resultat kolumnen i följande tabell genom att följa denna metod.

Step-01 :

➤Följ Step-01 Metod-1

 Sub ContiguousCells() Range("B5:C10").Select End Sub 

Den väljer cellerna från B5 till C10 .

➤Press F5

Resultat :

Därefter får du cellerna i Kolumn B och Kolumn C vald.

Metod-3: Välja en grupp av icke sammanhängande celler med hjälp av VBA Range

Antag att du vill välja eleverna som heter William David och Michael Anthony inklusive deras respektive E-postadress För att välja ut dessa celler som inte stämmer överens kan du följa den här metoden.

Step-01 :

➤Följ Step-01 Metod-1

 Sub nonContiguous() Range("B6,D6,B9,D9").Select End Sub 

Det kommer att välja cellerna B6 , D6 , B9, och D9 .

➤Press F5

Resultat :

Därefter får du fram cellerna som innehåller elevens namn. William David , Michael Anthony, och deras respektive E-postadress vald.

Metod-4: Välja en grupp av icke sammanhängande celler och ett område med hjälp av VBA Range

Du kan välja ett område av celler och några icke sammanhängande celler samtidigt genom att följa den här metoden.

Step-01 :

➤Följ Step-01 Metod-1

 Sub nonContiguouswithrange() Range("B5:B10,D6,D10").Select End Sub 

Det kommer att välja ett antal celler i intervallet B5:B10 och de två andra cellerna D6 , D10 .

➤Press F5

Resultat :

Därefter får du cellerna i kolumnen Elevens namn och två E-post-ID:n för William David och Donald Paul vald.

Metod-5: Välja ett intervall med hjälp av VBA Range Offset

Du kan välja ett intervall av celler i Kolumnen Elevnamn genom att använda OFFSET-funktionen .

Step-01 :

➤Följ Step-01 Metod-1

 Sub selectrangeoffset() Range("A1:A6").Offset(4, 1).Select End Sub 

Till en början, Range("A1:A6") kommer att välja intervallet A1:A6 , och sedan Offset(4, 1) flyttar 4 rader nedåt från cell A1 och 1 kolumn till höger. Därefter kommer lika många celler i intervallet A1:A6 kommer att väljas ut härifrån.

➤Press F5

Resultat :

På detta sätt väljer du kolumnen Elevens namn .

Metod-6: VBA Range Offset Negativ

Du kan välja den Kolumn för e-post-ID genom att följa den här metoden.

Step-01 :

➤Följ Step-01 Metod-1

 Sub negativerangeoffset() Range("F11:F16").Offset(-6, -2).Select End Sub 

Till en början, Range("F11:F16") kommer att välja intervallet F11:F16 , och sedan Offset(-6, -2) flyttas 6 rader uppåt från cell F11 och 2 kolumner till vänster. Därefter kommer lika många celler i intervallet F11:F16 kommer att väljas ut härifrån.

➤Press F5

Resultat :

Därefter kan du välja kolumnen E-postadress .

Liknande läsningar:

  • VBA för varje cell i intervallet i Excel (3 metoder)
  • Hur du räknar text i Excel (7 enkla knep)

Metod-7: Välja ett intervall med avseende på den aktiva cellen

Här har vi en aktiv cell (cell A1 ) och med avseende på denna cell väljer vi datafältet med den här metoden.

Step-01 :

➤Följ Step-01 Metod-1

 Sub actvcell() Range(activecell.Offset(4, 1), activecell.Offset(9, 3)).Select End Sub 

Här, activecell är A1

Den första delen activecell.Offset(4, 1) väljer en cell 4 rader nedåt och 1 kolumn till höger om cellen. A1 och den andra delen activecell.Offset(9, 3) väljer en cell 9 rader nedåt och 3 kolumner till höger från cell A1 .

Slutligen väljs alla celler mellan dessa två celler.

➤Press F5

Resultat :

Därefter kan du välja hela datavärdet.

Metod-8: Kopiera ett intervall

Om du vill kopiera ett antal celler kan du följa den här metoden.

Step-01 :

➤Följ Step-01 Metod-1

 Sub copyrangeoffset() Range("A1:A6").Offset(4, 1).Copy End Sub 

Till en början, Intervall("A1:A6") kommer att välja intervallet A1:A6 , och sedan Offset(4, 1) flyttar 4 rader nedåt från cell A1 och 1 kolumn till höger. Därefter kommer lika många celler i intervallet A1:A6 kommer att väljas ut härifrån.

Slutligen kopieras värdena i intervallet B5:B10 .

➤Press F5

Resultat :

Därefter kan du kopiera datavärdet i Kolumnen Elevnamn .

Metod-9: Ta bort ett intervall

Här ska vi visa hur man raderar ett intervall av data genom att använda VBA kod.

Step-01 :

➤Följ Step-01 Metod-1

 Sub dltrangeoffset() Range("F11:F17").Offset(-7, -2).Delete End Sub 

För det första, Range("F11:F17") kommer att välja intervallet F11:F17 , och sedan Offset(-7, -2) flyttar 7 rader uppåt från cell F11 och 2 kolumner till vänster. Därefter kommer lika många celler i intervallet F11:F17 kommer att väljas ut härifrån.

Slutligen raderas intervallet D4:D10 .

➤Press F5

Resultat :

På detta sätt kopierar du datavärdet i Kolumn för e-post-ID .

Metod-10: Använda VBA Range Offset för att ange ett värde

Här har vi en tom cell (vi har tagit bort värdet i denna cell för att förklara denna metod) i Kolumnen Elevnamn och vi vill fylla den med namnet Joseph Michael . Genom att använda en VBA koden kan vi enkelt ange detta värde.

Step-01 :

➤Följ Step-01 Metod-1

 Sub valuerangeoffset() Range("A1").Offset(6, 1).Value = "Joseph Michael" End Sub 

För det första, Range("A1") kommer att välja cellen A1 , och sedan Offset(6, 1) flyttar 6 rader nedåt från cell A1 och 1 kolumn till höger. Därefter kommer cell B7 kommer att väljas och slutligen kommer den att ange värdet "Joseph Michael" i den här cellen.

➤Press F5

Resultat :

På detta sätt får du namnet Joseph Michael i cellen B7 .

Metod-11: Använd VBA Range Offset för att få utdata

Antag att du vill skriva Godkänd eller . Misslyckades med att svara till elevernas namn beroende på vilken typ av Resultatkolumn där Passa eller . Fail har skrivits inom en parentes. För att hitta denna delsträng i Resultatkolumn och skriv ner den i Kolumnen Godkänd/underkänd följa denna metod.

Step-01 :

➤Följ Step-01 Metod-1

 Sub CheckSubstring() Dim cell As Range For Each cell In Range("C5:C10") If InStr(cell.value, "Pass")> 0 Then cell.Offset(0, 1).value = "Passed" Else cell.Offset(0, 1).value = "Failed" End If Next cell End Sub 

Här är cellintervallet C5:C10 väljs av Intervall("C5:C10") som är den Resultatkolumn

InStr(cell. value, "Pass")> 0 är det tillstånd där talet är större än noll (när cellen innehåller "Pass" ) så fortsätter följande rad och ger resultatet i den intilliggande cellen som Godkänd Här kommer den intilliggande cellen att väljas med hjälp av cell.Offset(0, 1) , vilket innebär att den flyttas en kolumn till höger från inmatningscellen.

Om villkoret blir falskt betyder det att en cell inte innehåller någon "Pass" då raden under Annat kommer att utföras och ge utdatavärdet i den intilliggande cellen som Misslyckad .

Denna slinga fortsätter för varje cell.

➤Press F5

Resultat :

Därefter får du följande utdata Godkänd eller underkänd i den Godkänd/underkänd kolumn.

Övningssektionen

För att du ska kunna öva på egen hand har vi tillhandahållit en Praktik som nedan i ett ark som heter Praktik . Gör det själv.

Slutsats

I den här artikeln har jag försökt att täcka de enklaste sätten att använda VBA för att effektivt kunna använda sig av en offset i Excel. Hoppas att du kommer att finna den användbar. Om du har några förslag eller frågor, dela dem gärna med oss.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.