Indholdsfortegnelse
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.xlsm11 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 på 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 på 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 på 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 på 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 på 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 på 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 på 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 på 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 på 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 på 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 på 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.