Prawa funkcja VBA

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.