Sådan bruger du VBA Range Offset (11 måder)

  • Del Dette
Hugh West

Hvis du er på udkig efter nogle af de nemmeste måder at bruge VBA Range Offset, så vil du finde denne artikel værd at læse. Lad os komme i gang med de måder, hvorpå vi kan bruge VBA Forskydning af området.

Download arbejdsbog

VBA Range Offset.xlsm

11 måder at bruge VBA Range Offset på

Jeg har følgende datatabel, der indeholder nogle oplysninger om studerende på et kollegium. Ved hjælp af dette datasæt vil jeg forklare, hvordan jeg kan bruge VBA Forskydning af området.

Til dette formål har jeg brugt Microsoft Excel 365 version, kan du bruge andre versioner, hvis det passer dig.

Metode-1: Valg af en celle ved hjælp af VBA Range

Her vil vi vælge en celle, der indeholder navnet Daniel Defoe. Til dette formål vil vi bruge RANGE-funktion VBA .

Step-01 :

➤Gå til Udvikler Tab>> Visual Basic Mulighed

Derefter er det Visual Basic-editor vil åbne sig.

➤Gå til Indsæt Tab>> Modul Mulighed

Herefter skal en Modul vil blive oprettet.

Step-02 :

➤Skriv følgende kode

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

Den vil vælge celle B8 .

➤Presse F5

Resultat :

På denne måde får du den celle, der indeholder Daniel Defoe valgt.

Læs mere: Sådan bruges Range Object i VBA i Excel

Metode-2: Valg af en gruppe af sammenhængende celler ved hjælp af VBA Range

Du kan vælge et område af sammenhængende celler som i Navn på den studerende kolonnen og Resultat kolonnen i den følgende tabel ved at følge denne metode.

Step-01 :

➤Follow Step-01 Metode-1

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

Den vil vælge cellerne fra B5 til C10 .

➤Presse F5

Resultat :

Herefter får du cellerne i Kolonne B og Kolonne C valgt.

Metode-3: Valg af en gruppe af ikke-sammenhængende celler ved hjælp af VBA Range

Antag, at du vil vælge de elever, der hedder William David og Michael Anthony herunder deres respektive E-mail-id For at vælge disse ikke-sammenfaldende celler kan du følge denne metode.

Step-01 :

➤Follow Step-01 Metode-1

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

Den vil vælge de celler B6 , D6 , B9, og D9 .

➤Presse F5

Resultat :

Derefter får du de celler, der indeholder elevens navn William David , Michael Anthony, og deres respektive E-mail-id valgt.

Metode-4: Valg af en gruppe af ikke-sammenhængende celler og et område ved hjælp af VBA Range

Du kan vælge et område af celler og nogle ikke-sammenhængende celler samtidigt ved at følge denne metode.

Step-01 :

➤Follow Step-01 Metode-1

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

Den vil vælge området af celler i området B5:B10 og de to andre celler D6 , D10 .

➤Presse F5

Resultat :

Herefter får du cellerne i kolonnen Navn på den studerende og to E-mail-ID'er til William David og Donald Paul valgt.

Metode-5: Valg af et område ved hjælp af VBA Range Offset

Du kan vælge et område af celler i Kolonne med elevens navn ved at bruge OFFSET-funktion .

Step-01 :

➤Follow Step-01 Metode-1

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

I første omgang, Range("A1:A6") vil vælge området A1:A6 , og derefter Forskydning(4, 1) vil flytte 4 rækker nedad fra celle A1 og 1 kolonne til højre side. Derefter vil det samme antal celler i intervallet A1:A6 vil blive valgt herfra.

➤Presse F5

Resultat :

På denne måde vil du vælge kolonnen Navn på den studerende .

Metode-6: VBA Range Offset Negativ

Du kan vælge den Kolonnen Email Id ved at følge denne metode.

Step-01 :

➤Follow Step-01 Metode-1

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

I første omgang, Range("F11:F16") vil vælge området F11:F16 , og derefter Forskydning(-6, -2) vil flytte 6 rækker opad fra celle F11 og 2 kolonner til venstre. Derefter vil det samme antal celler i intervallet F11:F16 vil blive valgt herfra.

➤Presse F5

Resultat :

Herefter kan du vælge kolonnen E-mail-id .

Lignende læsninger:

  • VBA for hver celle i området i Excel (3 metoder)
  • Sådan tæller du tekst i Excel (7 nemme tricks)

Metode-7: Valg af et område i forhold til den aktive celle

Her har vi en aktiv celle (celle A1 ) og med hensyn til denne celle vil vi vælge datarækken i denne metode.

Step-01 :

➤Follow Step-01 Metode-1

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

Her, activecell er A1

Den første del activecell.Offset(4, 1) vil vælge en celle 4 rækker nedad og 1 kolonne til højre fra cellen A1 og den anden del activecell.Offset(9, 3) vil vælge en celle 9 rækker nedad og 3 kolonner til højre fra celle A1 .

Til sidst vil alle cellerne mellem disse to celler blive valgt.

➤Presse F5

Resultat :

Derefter kan du vælge hele dataområdet.

Metode-8: Kopier et område

Hvis du vil kopiere et område af celler, kan du følge denne metode.

Step-01 :

➤Follow Step-01 Metode-1

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

I første omgang, Range("A1:A6") vil vælge området A1:A6 , og derefter Forskydning(4, 1) vil flytte 4 rækker nedad fra celle A1 og 1 kolonne til højre side. Derefter vil det samme antal celler i intervallet A1:A6 vil blive valgt herfra.

Endelig kopieres værdierne i intervallet B5:B10 .

➤Presse F5

Resultat :

Herefter kan du kopiere datarækken i Kolonne med elevens navn .

Metode-9: Sletning af et område

Her vil vi vise, hvordan man sletter en række data ved at bruge VBA kode.

Step-01 :

➤Follow Step-01 Metode-1

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

For det første, Range("F11:F17") vil vælge området F11:F17 , og derefter Forskydning(-7, -2) vil flytte 7 rækker opad fra celle F11 og 2 kolonner til venstre. Derefter vil det samme antal celler i intervallet F11:F17 vil blive valgt herfra.

Endelig slettes området D4:D10 .

➤Presse F5

Resultat :

På denne måde kopierer du dataområdet i Kolonnen Email Id .

Metode-10: Brug af VBA Range Offset til at indtaste en værdi

Her har vi en tom celle (vi har fjernet værdien i denne celle for at forklare denne metode) i Kolonne med elevens navn og vi ønsker at udfylde den med navnet Joseph Michael . ved at bruge en VBA kode kan vi nemt indtaste denne værdi.

Step-01 :

➤Follow Step-01 Metode-1

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

For det første, Range("A1") vil vælge cellen A1 , og derefter Forskydning(6, 1) vil flytte 6 rækker nedad fra celle A1 og 1 kolonne til højre side. Derefter skal celle B7 vil blive valgt, og til sidst vil den indtaste værdien "Joseph Michael" i denne celle.

➤Presse F5

Resultat :

På denne måde får du navnet Joseph Michael i celle B7 .

Metode-11: Brug af VBA Range Offset til at få output

Antag, at du ønsker at skrive Bestået eller Ikke korresponderede til navnene på de studerende afhængigt af den Resultat kolonne hvor Pass eller Fail er blevet skrevet i en parentes. For at finde denne delstreng i Resultat kolonne og skriv det ned i Kolonne bestået/ikke bestået følge denne metode.

Step-01 :

➤Follow Step-01 Metode-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 

Her er celleområdet C5:C10 vælges af Område("C5:C10") som er den Resultat kolonne

InStr(cell. value, "Pass")> 0 er den tilstand, hvor tallet er større end nul (når cellen indeholder "Bestået" ), så fortsætter den følgende linje og giver resultatet i den tilstødende celle som Bestået Her vil den tilstødende celle blive valgt ved at cell.Offset(0, 1) , hvilket betyder, at den flytter 1 kolonne til højre fra indtastningscellen.

Hvis betingelsen bliver falsk, betyder det, at en celle ikke indeholder nogen "Bestået" så er linjen under Ellers vil blive udført og give outputværdien i den tilstødende celle som Mislykkedes .

Denne løkke fortsætter for hver celle.

➤Presse F5

Resultat :

Derefter får du følgende udgange Bestået eller ikke bestået i den Bestået/ikke bestået kolonne.

Øvelsesafsnit

For at du kan øve dig selv, har vi givet dig en Praksis afsnit som nedenfor i et ark med navnet Praksis . gør det venligst selv.

Konklusion

I denne artikel har jeg forsøgt at beskrive de letteste måder at bruge VBA område offset i Excel effektivt. Håber du vil finde det nyttigt. Hvis du har forslag eller spørgsmål, er du velkommen til at dele dem med os.

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.