Właściwa funkcja w VBA Excel
Prawa funkcja jest taka sama jak w funkcji arkusza i VBA, użycie tej funkcji polega na tym, że daje nam podciąg z danego ciągu, ale wyszukiwanie odbywa się od prawej do lewej strony ciągu, jest to typ funkcji ciągu w VBA używane z metodą funkcji application.worksheet.
PRAWO Funkcja w Excel VBA, która służy do wyodrębniania znaków z prawej strony podanych wartości tekstowych. W programie Excel mamy wiele funkcji tekstowych do obsługi danych tekstowych. Niektóre z przydatnych funkcji to LEN, LEFT, RIGHT, MID do wyodrębniania znaków z wartości tekstowych. Typowym przykładem użycia tych funkcji jest wyodrębnienie imienia i nazwiska niezależnie od imienia i nazwiska.
W arkuszu znajduje się również formuła PRAWA. W VBA musimy polegać na klasie funkcji arkusza, aby uzyskać dostęp do funkcji VBA RIGHT, zamiast tego mamy również wbudowaną funkcję RIGHT w VBA.
Spójrz teraz na poniższą składnię formuły VBA RIGHT.
- Ciąg: To jest nasza wartość iz tej wartości próbujemy wyodrębnić znaki z prawej strony ciągu.
- Długość: z dostarczonego String ile znaków musimy. Jeśli potrzebujemy czterech znaków z prawej strony, możemy podać argument jako 4.
Na przykład, jeśli ciąg to „Telefon komórkowy” i jeśli chcemy wyodrębnić tylko słowo „Telefon”, możemy podać argument jak poniżej.
PRAWO („Telefon komórkowy”, 5)
Powód, dla którego wspomniałem o 5, ponieważ słowo „telefon” zawiera 5 liter. W kolejnej części artykułu zobaczymy, jak możemy go wykorzystać w VBA.
Przykłady prawej funkcji Excel VBA
Poniżej znajdują się przykłady prawej funkcji VBA Excel.
Możesz pobrać ten szablon Excel dla prawej funkcji VBA tutaj - Szablon programu Excel z prawą funkcją VBA
Przykład 1
Pokażę Ci prosty przykład na rozpoczęcie postępowania. Załóżmy, że masz ciąg „Nowy Jork” i jeśli chcesz wyodrębnić 3 znaki z prawej strony, wykonaj poniższe czynności, aby napisać kod.
Krok 1: Zadeklaruj zmienną jako ciąg VBA.
Kod:
Sub Right_Example1 () Dim k As String End Sub
Krok 2: Teraz dla tej zmiennej przypiszemy wartość, stosując funkcję PRAWO.
Kod:
Sub Right_Example1 () Dim k As String k = Right (End Sub
Krok 3: Pierwszy argument to String, a nasz ciąg w tym przykładzie to „Nowy Jork”.
Kod:
Sub Right_Example1 () Dim k As String k = Right ("Nowy Jork", End Sub
Krok 4: Następnie podajemy, ile znaków potrzebujemy z podanego ciągu. W tym przykładzie potrzebujemy 3 znaków.
Kod:
Sub Right_Example1 () Dim k As String k = Right ("Nowy Jork", 3) End Sub
Krok 5: Mamy 2 argumenty do rozwiązania, więc gotowe. Teraz przypisz wartość tej zmiennej w oknie komunikatu w VBA.
Kod:
Sub Right_Example1 () Dim k As String k = Right ("Nowy Jork", 3) MsgBox k End Sub
Uruchom kod za pomocą klawisza F5 lub ręcznie i zobacz wynik w oknie komunikatu.
W słowie „Nowy Jork” z prawej strony 3 znaki to „ork”.
Teraz zmienię długość z 3 na 4, aby uzyskać pełną wartość.
Kod:
Sub Right_Example1 () Dim k As String k = Right ("Nowy Jork", 4) MsgBox k End Sub
Uruchom ten kod ręcznie lub używając klawisza F5, a otrzymasz „York”.
Przykład nr 2
Teraz spójrz na jeszcze jeden przykład, tym razem rozważ wartość ciągu jako „Michael Clarke”.
Jeśli podasz długość jako 6, jako wynik otrzymamy „Clarke”.
Kod:
Sub Right_Example1 () Dim k As String k = Right ("Michael Clarke", 6) MsgBox k End Sub
Uruchom ten kod za pomocą klawisza F5 lub ręcznie, aby zobaczyć wynik.
Dynamiczna prawostronna funkcja w Excel VBA
Jeśli obserwujesz nasze poprzednie dwa przykłady, ręcznie wprowadziliśmy liczby argumentów długości. Ale to nie jest właściwy proces do wykonania tej pracy.
W każdym łańcuchu znaki po prawej stronie są różne w każdym przypadku. Nie możemy inaczej odnosić się do długości znaków dla każdej wartości. Tutaj istotną rolę odgrywa druga funkcja strunowa „Instr”.
Funkcja Instr zwraca podaną pozycję znaku w podanej wartości ciągu. Na przykład Instr (1, „Bangalore”, „a”) zwraca pozycję litery „a” w ciągu „Bangalore” od pierwszego (1) znaku.
W tym przypadku wynikiem jest 2, ponieważ od pozycji pierwszego znaku litery „a” jest druga pozycja.
Jeśli zmienię pozycję początkową z 1 na 3, zwróci 5.
Instr (3, „Bangalore”, „a”) .
Powód, dla którego zwraca 5, ponieważ wspomniałem o pozycji początkowej, aby szukać litery „a” tylko z trzeciej litery. Tak więc pozycja drugiego pojawiającego się „a” to 5.
Tak więc, aby znaleźć znak spacji w każdym łańcuchu, możemy użyć tego. Po znalezieniu pozycji znaku spacji musimy odjąć to z całkowitej długości ciągu za pomocą LEN.
Na przykład w ciągu „Nowy Jork” łączna liczba znaków wynosi 8, łącznie ze spacją, a pozycja znaku spacji to 4. Zatem 8-4 = 4 right spowoduje wyodrębnienie 4 znaków z prawej strony.
Teraz spójrz na poniższy kod w celach informacyjnych.
Kod:
Sub Right_Example3 () Dim k As String Dim L As String Dim S As String L = Len ("Michael Clarke") S = InStr (1, "Michael Clarke", "") k = Right ("Michael Clarke", L - S) MsgBox k End Sub
W powyższym kodzie zmienna „L” zwróci 14, a zmienna „S” zwróci 8.
W prawej formule VBA zastosowałem L - S, czyli 14-8 = 6. Czyli od prawej strony 6 znaków, czyli „Clarke”.
Pętle z odpowiednią funkcją w Excel VBA
Kiedy musimy zastosować funkcję VBA RIGHT w wielu komórkach, musimy uwzględnić ją w pętlach. Na przykład spójrz na poniższy obrazek.
Nie możemy zastosować wielu wierszy kodu, aby wyodrębnić ciąg z prawej strony. Musimy więc uwzględnić pętle. Poniższy kod zrobi to dla powyższych danych.
Kod:
Sub Right_Example4 () Dim k As String Dim L As String Dim S As String Dim a As Integer For a = 2 To 5 L = Len (Cells (a, 1) .Value) S = InStr (1, Cells (a, 1) ) .Value, "") Cells (a, 2) .Value = Right (Cells (a, 1), L - S) Next a End Sub
Wynik tego kodu jest następujący.