Spis treści
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.xlsm11 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.