Ako používať posunutie rozsahu VBA (11 spôsobov)

  • Zdieľajte To
Hugh West

Ak hľadáte niektoré z najjednoduchších spôsobov používania VBA Range Offset, potom sa vám tento článok oplatí. Začnime so spôsobmi použitia VBA Posunutie rozsahu.

Stiahnite si pracovný zošit

VBA Range Offset.xlsm

11 spôsobov použitia posunu rozsahu VBA

Mám nasledujúcu tabuľku údajov, ktorá obsahuje informácie o niektorých študentoch vysokej školy. Na základe tohto súboru údajov vysvetlím spôsoby použitia VBA Posunutie rozsahu.

Na tento účel som použil Microsoft Excel 365 verziu, môžete použiť aj iné verzie podľa vlastného uváženia.

Metóda 1: Výber bunky pomocou rozsahu VBA

Tu vyberieme bunku obsahujúcu názov Daniel Defoe. Na tento účel použijeme Funkcia RANGE na stránke VBA .

Krok-01 :

➤ Prejsť na Vývojár Tab>> Visual Basic Možnosť

Potom sa Editor jazyka Visual Basic sa otvorí.

➤ Prejsť na Vložte Tab>> Modul Možnosť

Potom sa Modul sa vytvorí.

Krok-02 :

➤Napíšte nasledujúci kód

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

Vyberie bunku B8 .

➤Press F5

Výsledok :

Týmto spôsobom získate bunku obsahujúcu Daniel Defoe vybrané.

Prečítajte si viac: Ako používať objekt rozsahu VBA v programe Excel

Metóda 2: Výber skupiny susediacich buniek pomocou rozsahu VBA

Môžete vybrať rozsah susediacich buniek, ako napr. Meno študenta stĺpec a Výsledok stĺpec v nasledujúcej tabuľke podľa tejto metódy.

Krok-01 :

➤Sledovať Krok-01 z Metóda-1

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

Vyberie bunky z B5 na C10 .

➤Press F5

Výsledok :

Potom dostanete bunky v Stĺpec B a Stĺpec C vybrané.

Metóda 3: Výber skupiny nesúvislých buniek pomocou rozsahu VBA

Predpokladajme, že chcete vybrať študentov s názvom William David a Michael Anthony vrátane ich príslušných E-mailová adresa Ak chcete vybrať tieto nesúrodé bunky, môžete postupovať podľa tejto metódy.

Krok-01 :

➤Sledovať Krok-01 z Metóda-1

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

Vyberie bunky B6 , D6 , B9, a D9 .

➤Press F5

Výsledok :

Potom sa zobrazia bunky obsahujúce meno študenta William David , Michael Anthony, a ich príslušné E-mailová adresa vybrané.

Metóda 4: Výber skupiny nesusediacich buniek a rozsahu pomocou rozsahu VBA

Touto metódou môžete súčasne vybrať rozsah buniek a niektoré nesúvislé bunky.

Krok-01 :

➤Sledovať Krok-01 z Metóda-1

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

Vyberie rozsah buniek v rozsahu B5:B10 a ďalšie dve bunky D6 , D10 .

➤Press F5

Výsledok :

Potom sa zobrazia bunky v stĺpci Meno študenta a dva E-mailové identifikátory pre William David a Donald Paul vybrané.

Metóda 5: Výber rozsahu pomocou posunu rozsahu VBA

Môžete vybrať rozsah buniek v Stĺpec s menom študenta pomocou Funkcia OFFSET .

Krok-01 :

➤Sledovať Krok-01 z Metóda-1

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

Najprv, Rozsah("A1:A6") vyberie rozsah A1:A6 a potom Posunutie(4, 1) presunie 4 riadky smerom nadol z bunky A1 a 1 stĺpec na pravej strane. Potom sa rovnaký počet buniek v rozsahu A1:A6 sa vyberie odtiaľto.

➤Press F5

Výsledok :

Týmto spôsobom vyberiete stĺpec Meno študenta .

Metóda 6: Záporný posun rozsahu VBA

Môžete vybrať Stĺpec s e-mailovou identitou podľa tejto metódy.

Krok-01 :

➤Sledovať Krok-01 z Metóda-1

 Sub negatívneodsadenierozsahu() Rozsah("F11:F16").Odsadenie(-6, -2).Vybrať End Sub 

Najprv, Rozsah("F11:F16") vyberie rozsah F11:F16 a potom Posunutie(-6, -2) presunie 6 riadkov nahor z bunky F11 a 2 stĺpce na ľavej strane. Potom sa rovnaký počet buniek v rozsahu F11:F16 sa vyberie odtiaľto.

➤Press F5

Výsledok :

Potom budete môcť vybrať stĺpec E-mailová adresa .

Podobné čítanie:

  • VBA pre každú bunku v rozsahu v programe Excel (3 metódy)
  • Ako počítať text v programe Excel (7 jednoduchých trikov)

Metóda 7: Výber rozsahu vzhľadom na aktívnu bunku

Tu máme aktívnu bunku (bunka A1 ) a vzhľadom na túto bunku vyberieme rozsah údajov v tejto metóde.

Krok-01 :

➤Sledovať Krok-01 z Metóda-1

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

Tu, activecell je . A1

Prvá časť activecell.Offset(4, 1) vyberie bunku 4 riadky smerom nadol a 1 stĺpec vpravo od bunky A1 a druhá časť activecell.Offset(9, 3) vyberie bunku 9 riadkov smerom nadol a 3 stĺpce vpravo od bunky A1 .

Nakoniec sa vyberú všetky bunky medzi týmito dvoma bunkami.

➤Press F5

Výsledok :

Potom budete môcť vybrať celý rozsah údajov.

Metóda 8: Kopírovanie rozsahu

Ak chcete skopírovať rozsah buniek, môžete použiť túto metódu.

Krok-01 :

➤Sledovať Krok-01 z Metóda-1

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

Najprv, Rozsah("A1:A6") vyberie rozsah A1:A6 a potom Posunutie(4, 1) presunie 4 riadky smerom nadol z bunky A1 a 1 stĺpec na pravej strane. Potom sa rovnaký počet buniek v rozsahu A1:A6 sa vyberie odtiaľto.

Nakoniec skopíruje hodnoty v rozsahu B5:B10 .

➤Press F5

Výsledok :

Potom budete môcť skopírovať rozsah údajov v Stĺpec s menom študenta .

Metóda-9: Odstránenie rozsahu

Tu si ukážeme spôsob odstránenia rozsahu údajov pomocou VBA kód.

Krok-01 :

➤Sledovať Krok-01 z Metóda 1

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

Po prvé, Rozsah("F11:F17") vyberie rozsah F11:F17 a potom Posunutie(-7, -2) presunie 7 riadkov nahor z bunky F11 a 2 stĺpce na ľavej strane. Potom sa rovnaký počet buniek v rozsahu F11:F17 sa vyberie odtiaľto.

Nakoniec odstráni rozsah D4:D10 .

➤Press F5

Výsledok :

Týmto spôsobom skopírujete rozsah údajov v Stĺpec s e-mailovou identitou .

Metóda 10: Použitie posunu rozsahu VBA na zadanie hodnoty

Tu máme prázdnu bunku (hodnotu v tejto bunke sme odstránili kvôli vysvetleniu tejto metódy) v Stĺpec s menom študenta a chceme ho vyplniť názvom Joseph Michael Pomocou VBA kódu môžeme túto hodnotu jednoducho zadať.

Krok-01 :

➤Sledovať Krok-01 z Metóda-1

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

Po prvé, Rozsah("A1") vyberie bunku A1 a potom Posunutie(6, 1) presunie 6 riadkov smerom nadol z bunky A1 a 1 stĺpec na pravej strane. Potom sa bunka B7 a nakoniec sa zadá hodnota "Joseph Michael" v tejto bunke.

➤Press F5

Výsledok :

Týmto spôsobom získate názov Joseph Michael v bunke B7 .

Metóda 11: Použitie posunu rozsahu VBA na získanie výstupu

Predpokladajme, že chcete napísať Prešiel alebo Nepodarilo sa korešpondovať k menám študentov v závislosti od Stĺpec s výsledkom kde Prejsť alebo Zlyhanie bol zapísaný v zátvorke. Ak chcete nájsť tento podreťazec v Stĺpec s výsledkom a zapíšte ho do Stĺpec vyhovel/nevyhovel postupujte podľa tejto metódy.

Krok-01 :

➤Sledovať Krok-01 z Metóda-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 

Tu je rozsah buniek C5:C10 sa vyberá podľa Rozsah("C5:C10") čo je Stĺpec s výsledkom

InStr(cell. value, "Pass")> 0 je stav, keď je číslo väčšie ako nula (keď bunka obsahuje "Pass" ), potom bude nasledujúci riadok pokračovať a poskytne výstup v susednej bunke ako Prešiel V tomto prípade sa susedná bunka vyberie pomocou cell.Offset(0, 1) , čo znamená, že sa posunie o 1 stĺpec doprava od vstupnej bunky.

Ak sa podmienka stane nepravdivou, znamená to, že bunka neobsahuje žiadne "Pass" potom riadok pod Inak sa vykoná a poskytne výstupnú hodnotu v susednej bunke ako Neúspešné .

Táto slučka bude pokračovať pre každú bunku.

➤Press F5

Výsledok :

Potom dostanete výstupy Prešiel alebo neprešiel v Prešiel/neprešiel stĺpec.

Praktická časť

Na precvičovanie sme vám poskytli Cvičenie sekciu ako nižšie v hárku s názvom Cvičenie . Prosím, urobte to sami.

Záver

V tomto článku som sa snažil pokryť najjednoduchšie spôsoby používania VBA rozsahu posunutia v programe Excel efektívne. Dúfam, že vám to bude užitočné. Ak máte nejaké návrhy alebo otázky, neváhajte sa s nami o ne podeliť.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.