Jak používat posunutí rozsahu VBA (11 způsobů)

  • Sdílet Toto
Hugh West

Pokud hledáte nejjednodušší způsoby, jak používat VBA Range Offset, pak se vám tento článek vyplatí. Pojďme se podívat na způsoby použití funkce VBA Posunutí rozsahu.

Stáhnout pracovní sešit

Posunutí rozsahu VBA.xlsm

11 způsobů použití posunu rozsahu VBA

Mám k dispozici následující datovou tabulku, která obsahuje informace o některých studentech vysoké školy. Na základě tohoto souboru dat vysvětlím způsoby použití metody VBA Posunutí rozsahu.

K tomuto účelu jsem použil Microsoft Excel 365 verze, můžete použít i jiné verze podle toho, jak vám to vyhovuje.

Metoda 1: Výběr buňky pomocí rozsahu VBA

Zde vybereme buňku obsahující název Daniel Defoe. K tomuto účelu použijeme Funkce RANGE na adrese VBA .

Krok-01 :

➤Přejít na Vývojář Tab>> Visual Basic Možnost

Poté se Editor jazyka Visual Basic se otevře.

➤Přejít na Vložte Tab>> Modul Možnost

Poté se Modul bude vytvořen.

Krok-02 :

➤Napsat následující kód

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

Vybere buňku B8 .

➤Press F5

Výsledek :

Tímto způsobem získáte buňku obsahující Daniel Defoe vybrané.

Přečtěte si více: Jak používat objekt rozsahu VBA v aplikaci Excel

Metoda 2: Výběr skupiny sousedících buněk pomocí rozsahu VBA

Můžete vybrat rozsah sousedících buněk, jako je např. Jméno studenta a sloupec Výsledek sloupec v následující tabulce podle této metody.

Krok-01 :

➤Sledovat Krok-01 z Metoda-1

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

Vybere buňky z B5 na C10 .

➤Press F5

Výsledek :

Poté získáte buňky v Sloupec B a Sloupec C vybrané.

Metoda 3: Výběr skupiny nesousedících buněk pomocí rozsahu VBA

Předpokládejme, že chcete vybrat studenty s názvem William David a Michael Anthony včetně jejich příslušných E-mailová adresa Pro výběr těchto nesourodých buněk můžete použít tuto metodu.

Krok-01 :

➤Sledovat Krok-01 z Metoda-1

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

Vybere buňky B6 , D6 , B9, a D9 .

➤Press F5

Výsledek :

Poté se zobrazí buňky obsahující jméno studenta. William David , Michael Anthony, a jejich příslušné E-mailová adresa vybrané.

Metoda 4: Výběr skupiny nesousedících buněk a rozsahu pomocí rozsahu VBA

Touto metodou můžete současně vybrat rozsah buněk a některé nesousedící buňky.

Krok-01 :

➤Sledovat Krok-01 z Metoda-1

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

Vybere rozsah buněk v rozsahu B5:B10 a další dvě buňky D6 , D10 .

➤Press F5

Výsledek :

Poté se zobrazí buňky ve sloupci Jméno studenta a dva E-mailové identity pro William David a Donald Paul vybrané.

Metoda-5: Výběr rozsahu pomocí posunu rozsahu VBA

Můžete vybrat rozsah buněk v Sloupec Jméno studenta pomocí Funkce OFFSET .

Krok-01 :

➤Sledovat Krok-01 z Metoda-1

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

Nejprve, Rozsah("A1:A6") vybere rozsah A1:A6 , a pak Offset(4, 1) přesune 4 řádky směrem dolů od buňky A1 a 1 sloupec na pravé straně. Poté se stejný počet buněk v rozsahu A1:A6 bude vybrána odtud.

➤Press F5

Výsledek :

Tímto způsobem vyberete sloupec Jméno studenta .

Metoda-6: Záporný posun rozsahu VBA

Můžete vybrat Sloupec e-mailových identit podle této metody.

Krok-01 :

➤Sledovat Krok-01 z Metoda-1

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

Nejprve, Rozsah("F11:F16") vybere rozsah F11:F16 , a pak Offset(-6, -2) se posune o 6 řádků nahoru od buňky F11 a 2 sloupce vlevo. Poté se stejný počet buněk v rozsahu F11:F16 bude vybrána odtud.

➤Press F5

Výsledek :

Poté budete moci vybrat sloupec E-mailová adresa .

Podobné čtení:

  • VBA pro každou buňku v rozsahu v aplikaci Excel (3 metody)
  • Jak počítat text v aplikaci Excel (7 snadných triků)

Metoda-7: Výběr rozsahu vzhledem k aktivní buňce

Zde máme aktivní buňku (buňka A1 ) a vzhledem k této buňce vybereme rozsah dat touto metodou.

Krok-01 :

➤Sledovat Krok-01 z Metoda-1

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

Zde, activecell je A1

První část activecell.Offset(4, 1) vybere buňku o 4 řádky dolů a 1 sloupec doprava od buňky. A1 a druhá část activecell.Offset(9, 3) vybere buňku o 9 řádků dolů a 3 sloupce doprava od buňky A1 .

Nakonec se vyberou všechny buňky mezi těmito dvěma buňkami.

➤Press F5

Výsledek :

Poté budete moci vybrat celý rozsah dat.

Metoda-8: Kopírování rozsahu

Pokud chcete zkopírovat rozsah buněk, můžete použít tuto metodu.

Krok-01 :

➤Sledovat Krok-01 z Metoda-1

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

Nejprve, Rozsah("A1:A6") vybere rozsah A1:A6 , a pak Offset(4, 1) přesune 4 řádky směrem dolů od buňky A1 a 1 sloupec na pravé straně. Poté se stejný počet buněk v rozsahu A1:A6 bude vybrána odtud.

Nakonec zkopíruje hodnoty v rozsahu B5:B10 .

➤Press F5

Výsledek :

Poté budete moci zkopírovat rozsah dat v okně Sloupec Jméno studenta .

Metoda-9: Odstranění rozsahu

Zde si ukážeme způsob, jak odstranit rozsah dat s použitím VBA kód.

Krok-01 :

➤Sledovat Krok-01 z Metoda-1

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

Za prvé, Rozsah("F11:F17") vybere rozsah F11:F17 , a pak Offset(-7, -2) přesune 7 řádků nahoru z buňky F11 a 2 sloupce vlevo. Poté se stejný počet buněk v rozsahu F11:F17 bude vybrána odtud.

Nakonec odstraní rozsah D4:D10 .

➤Press F5

Výsledek :

Tímto způsobem zkopírujete datový rozsah ve složce Sloupec e-mailových identit .

Metoda-10: Použití posunu rozsahu VBA pro zadání hodnoty

Zde máme prázdnou buňku (pro vysvětlení této metody jsme z ní odstranili hodnotu) v poli Sloupec Jméno studenta a chceme ji vyplnit názvem Joseph Michael Pomocí VBA kódu můžeme tuto hodnotu snadno zadat.

Krok-01 :

➤Sledovat Krok-01 z Metoda-1

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

Za prvé, Rozsah("A1") vybere buňku A1 , a pak Offset(6, 1) přesune 6 řádků směrem dolů z buňky A1 a 1 sloupec na pravé straně. Poté se buňka B7 bude vybrána a nakonec bude zadána hodnota "Joseph Michael" v této buňce.

➤Press F5

Výsledek :

Tímto způsobem získáte název Joseph Michael v buňce B7 .

Metoda-11: Použití posunu rozsahu VBA k získání výstupu

Předpokládejme, že chcete napsat Prošlo nebo Neodpovídá ke jménům studentů v závislosti na Sloupec výsledků kde Předat nebo Selhání byl zapsán v závorce. Chcete-li tento podřetězec nalézt v řetězci Sloupec výsledků a zapište ji do Sloupec vyhověl/nevyhověl postupujte podle této metody.

Krok-01 :

➤Sledovat Krok-01 z Metoda-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 

Zde je rozsah buněk C5:C10 je vybrána podle Rozsah("C5:C10") což je Sloupec výsledků

InStr(cell. value, "Pass")> 0 je podmínka, kdy je číslo větší než nula (když buňka obsahuje "Pass" ), pak bude následující řádek pokračovat a ve vedlejší buňce se zobrazí výstup ve tvaru Prošlo . Zde bude sousední buňka vybrána pomocí cell.Offset(0, 1) , což znamená, že se posune o 1 sloupec doprava od vstupní buňky.

Pokud se podmínka stane nepravdivou, znamená to, že buňka neobsahuje žádné "Pass" pak řádek pod Jinak se provede a poskytne výstupní hodnotu v sousední buňce jako Neúspěšný .

Tato smyčka bude pokračovat pro každou buňku.

➤Press F5

Výsledek :

Pak získáte výstupy Prošel nebo neprošel v Prošel/neprošel sloupec.

Praktická část

Pro samostatné cvičení jsme připravili Cvičení sekce jako níže v listu s názvem Cvičení . Udělejte to prosím sami.

Závěr

V tomto článku jsem se pokusil popsat nejjednodušší způsoby použití. VBA Posunutí rozsahu v aplikaci Excel efektivně. Doufám, že vám to bude užitečné. Pokud máte nějaké návrhy nebo dotazy, neváhejte se s námi o ně podělit.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.