Jak używać VBA Range Offset (11 sposobów)

  • Udostępnij To
Hugh West

Jeśli szukasz najprostszych sposobów na wykorzystanie VBA Range Offset, to przekonasz się, że warto sięgnąć po ten artykuł. Zacznijmy od sposobów wykorzystania funkcji VBA Range Offset.

Pobierz Workbook

VBA Przesunięcie zakresu.xlsm

11 sposobów na wykorzystanie przesunięcia zakresu w VBA

Mam następującą tabelę danych zawierającą pewne informacje o studentach pewnej uczelni. Korzystając z tego zbioru danych, wyjaśnię sposoby wykorzystania VBA Range Offset.

Do tego celu użyłem Microsoft Excel 365 wersja, możesz użyć dowolnej innej wersji w zależności od swojej wygody.

Metoda-1: Wybieranie komórki za pomocą VBA Range

Tutaj wybierzemy komórkę zawierającą nazwę Daniel Defoe. W tym celu wykorzystamy Funkcja RANGE w VBA .

Krok-01 :

➤Go to Deweloper Tab>> Visual Basic Opcja

Następnie. Edytor Visual Basic otworzy się.

➤Go to Wkładka Tab>> Moduł Opcja

Po tym, a Moduł zostanie utworzony.

Step-02 :

➤ Napisz następujący kod

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

Wybierze on komórkę B8 .

➤Press F5

Wynik :

W ten sposób uzyskasz komórkę zawierającą Daniel Defoe wybrany.

Czytaj więcej: Jak używać obiektu Range w VBA w Excelu

Metoda-2: Wybieranie grupy sąsiadujących komórek za pomocą VBA Range

Możesz wybrać zakres sąsiadujących ze sobą komórek, jak np. Imię i nazwisko ucznia kolumna i Wynik kolumny w poniższej tabeli, postępując w ten sposób.

Krok-01 :

➤Follow Krok-01 z Metoda-1

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

Wybierze on komórki z B5 do C10 .

➤Press F5

Wynik :

Po tym, otrzymasz komórki w Kolumna B oraz Kolumna C wybrany.

Metoda-3: Wybieranie grupy nieciągłych komórek za pomocą VBA Range

Załóżmy, że chcesz wybrać studentów o nazwie William David oraz Michał Antoni łącznie z ich odpowiednimi Email Id Aby wybrać te niepasujące do siebie komórki, możesz zastosować tę metodę.

Krok-01 :

➤Follow Krok-01 z Metoda-1

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

Wybierze on komórki B6 , D6 , B9, oraz D9 .

➤Press F5

Wynik :

Następnie otrzymasz komórki zawierające imię i nazwisko ucznia William David , Michał Antoń, oraz ich Email Id wybrany.

Metoda 4: Zaznaczanie grupy nie pokrywających się komórek i zakresu za pomocą VBA Range

Możesz wybrać zakres komórek i niektóre nie sąsiadujące komórki jednocześnie, postępując zgodnie z tą metodą.

Krok-01 :

➤Follow Krok-01 z Metoda-1

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

Spowoduje to wybranie zakresu komórek z zakresu B5:B10 a pozostałe dwie komórki D6 , D10 .

➤Press F5

Wynik :

Następnie otrzymasz komórki w kolumnie Imię i nazwisko ucznia i dwa Identyfikatory e-mail dla William David oraz Donald Paul wybrany.

Metoda-5: Wybieranie zakresu za pomocą przesunięcia zakresu VBA

Możesz wybrać zakres komórek w Kolumna Imię i nazwisko ucznia poprzez użycie Funkcja OFFSET .

Krok-01 :

➤Follow Krok-01 z Metoda-1

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

Na początku, Range("A1:A6") wybierze zakres A1:A6 , a następnie Offset(4, 1) spowoduje przesunięcie o 4 wiersze w dół od komórki A1 i 1 kolumna po prawej stronie. Następnie równa liczba komórek w zakresie A1:A6 zostanie wybrany z tego miejsca.

➤Press F5

Wynik :

W ten sposób wybierzesz kolumnę Imię i nazwisko ucznia .

Metoda-6: VBA Przesunięcie zakresu ujemne

Można wybrać Kolumna Email Id poprzez zastosowanie tej metody.

Krok-01 :

➤Follow Krok-01 z Metoda-1

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

Na początku, Range("F11:F16") wybierze zakres F11:F16 , a następnie Offset(-6, -2) przesunie się o 6 rzędów w górę od komórki F11 i 2 kolumny po lewej stronie. Następnie równa liczba komórek w zakresie F11:F16 zostanie wybrany z tego miejsca.

➤Press F5

Wynik :

Po tym, będziesz mógł wybrać kolumnę Email Id .

Podobne Lektury:

  • VBA dla każdej komórki w zakresie w Excelu (3 metody)
  • Jak liczyć tekst w programie Excel (7 prostych sztuczek)

Metoda 7: Wybieranie zakresu względem aktywnej komórki

Tutaj mamy aktywną komórkę (komórka A1 ) i w odniesieniu do tej komórki wybierzemy zakres danych w tej metodzie.

Krok-01 :

➤Follow Krok-01 z Metoda-1

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

Tutaj, activecell jest A1

Część pierwsza activecell.Offset(4, 1) wybierze komórkę o 4 wiersze w dół i 1 kolumnę w prawo od komórki A1 i druga część activecell.Offset(9, 3) wybierze komórkę o 9 wierszy w dół i 3 kolumny w prawo od komórki A1 .

Na koniec zostaną wybrane wszystkie komórki znajdujące się pomiędzy tymi dwoma komórkami.

➤Press F5

Wynik :

Następnie będziesz mógł wybrać cały zakres danych.

Metoda-8: Kopiowanie zakresu

Jeśli chcesz skopiować zakres komórek, to możesz zastosować tę metodę.

Krok-01 :

➤Follow Krok-01 z Metoda-1

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

Na początku, Range("A1:A6") wybierze zakres A1:A6 , a następnie Offset(4, 1) spowoduje przesunięcie o 4 wiersze w dół od komórki A1 i 1 kolumna po prawej stronie. Następnie równa liczba komórek w zakresie A1:A6 zostanie wybrany z tego miejsca.

Na koniec skopiuje wartości z zakresu B5:B10 .

➤Press F5

Wynik :

Następnie będzie można skopiować zakres danych w Kolumna Imię i nazwisko ucznia .

Metoda-9: Usuwanie zakresu

Tutaj pokażemy sposób na usunięcie zakresu danych za pomocą VBA kod.

Krok-01 :

➤Follow Krok-01 z Metoda-1

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

Po pierwsze, Range("F11:F17") wybierze zakres F11:F17 , a następnie Offset(-7, -2) spowoduje przesunięcie o 7 rzędów w górę od komórki F11 i 2 kolumny po lewej stronie. Następnie równa liczba komórek w zakresie F11:F17 zostanie wybrany z tego miejsca.

Na koniec usunie zakres D4:D10 .

➤Press F5

Wynik :

W ten sposób skopiujesz zakres danych w Kolumna Email Id .

Metoda-10: Używanie przesunięcia zakresu VBA do wprowadzenia wartości

Tutaj mamy pustą komórkę (usunęliśmy wartość w tej komórce dla wyjaśnienia tej metody) w Kolumna Imię i nazwisko ucznia i chcemy wypełnić go nazwą Józef Michał Przez użycie VBA kod możemy łatwo wprowadzić tę wartość.

Krok-01 :

➤Follow Krok-01 z Metoda-1

 Sub valuerangeoffset() Range("A1").Offset(6, 1).Value = "Józef Michał" End Sub 

Po pierwsze, Range("A1") wybierze komórkę A1 , a następnie Offset(6, 1) spowoduje przesunięcie o 6 rzędów w dół od komórki A1 i 1 kolumna po prawej stronie. Następnie komórka B7 zostanie wybrany, a na końcu wprowadzi wartość "Józef Michał" w tej komórce.

➤Press F5

Wynik :

W ten sposób uzyskasz nazwę Józef Michał w komórce B7 .

Metoda-11: Używanie VBA Range Offset, aby uzyskać wyjście

Załóżmy, że chcesz napisać Pozytywnie oceniony lub Nie udało się odpowiedzieć do nazwisk uczniów w zależności od Kolumna wyników gdzie Pass lub Fail Aby znaleźć ten podłańcuch w Kolumna wyników i zapisz to w Kolumna zaliczenie/niezaliczenie zastosuj tę metodę.

Krok-01 :

➤Follow 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 

Tutaj, zakres komórek C5:C10 jest wybierany przez Range("C5:C10") który jest Kolumna wyników

InStr(cell. value, "Pass")> 0 to warunek, w którym liczba jest większa od zera (gdy komórka zawiera "Pass" ) to następny wiersz będzie kontynuowany i poda wyjście w sąsiedniej komórce jako Pozytywnie oceniony Tutaj sąsiednia komórka zostanie wybrana przez cell.Offset(0, 1) , co oznacza, że przesunie się o 1 kolumnę w prawo od komórki wejściowej.

Jeśli warunek stanie się fałszywy, oznacza to, że komórka nie zawiera żadnego "Pass" to linia pod Else zostanie wykonana i da wartość wyjściową w sąsiedniej komórce jako Nie udało się .

Ta pętla będzie kontynuowana dla każdej komórki.

➤Press F5

Wynik :

Wtedy otrzymamy wyjścia Zaliczone lub nie zaliczone w Zaliczenie kolumna.

Część ćwiczeniowa

Do samodzielnego wykonywania ćwiczeń udostępniliśmy Praktyka sekcja jak poniżej w arkuszu o nazwie Praktyka . Proszę, zrób to sam.

Wniosek

W tym artykule starałem się omówić najprostsze sposoby wykorzystania VBA przesunięcie zakresu w Excelu skutecznie. Mam nadzieję, że uznasz to za przydatne. Jeśli masz jakieś sugestie lub pytania, nie krępuj się podzielić nimi z nami.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.