Ten samouczek pokaże, jak używać funkcji Right VBA do wyodrębniania tekstu z prawej strony.
Właściwa funkcja
VBA Prawo funkcja Ostatnie n znaków
Funkcja VBA Right zwraca ostatnie n znaków z ciągu:
123456 | Sub RightPrzykład_1()MsgBox Right("ABCDEFGHI", 4) 'Wynik: "FGHI"MsgBox Right("ABCDEFGHI", 2) 'Wynik: "HI"MsgBox Right("ABCDEFGHI", 1) 'Wynik: "I"MsgBox Right ("ABCDEFGHI", 100) 'Wynik: "ABCDEFGHI"Napis końcowy |
VBA Right Function Ostatnie n znaków w zmiennej
Jak pokazano powyżej, możesz zdefiniować ciąg po prostu wpisując tekst w cudzysłowie. Ale PRAWA funkcja działa również ze zmiennymi łańcuchowymi. Te przykłady wydobędą ostatnie n znaków ze zmiennej łańcuchowej.
123456789 | Sub RightPrzykład_2()Dim StrEx As String 'Zdefiniuj zmienną łańcuchowąStrEx = "ABCDEFGHI"MsgBox Right(StrEx, 4) 'Wynik: "FGHI"MsgBox Right(StrEx, 2) 'Wynik: "HI"MsgBox Right(StrEx, 1) 'Wynik: "I"MsgBox Right(StrEx, 100) 'Wynik: "ABCDEFGHI"Napis końcowy |
Programowanie VBA | Generator kodu działa dla Ciebie!
VBA Right Function Ostatnie n znaków z komórki
Ciągi znaków można definiować w kodzie VBA, ale można również używać wartości z komórek. Odczytaj wartość komórki, zachowaj ją w zmiennej ciągu i wyodrębnij ostatnie n znaków z tej wartości komórki arkusza roboczego.
123456789101112 | Sub RightPrzykład_3()Dim StrEx As String 'Zdefiniuj zmienną łańcuchową'Odczytaj wartość komórki A1 w arkuszu Arkusz1StrEx = ThisWorkbook.Worksheets("Arkusz1").Range("A1").Value'W tym przykładzie wartość komórki A1 to "ABCDEFG hI"MsgBox Right(StrEx, 4) 'Wynik: „G hI”MsgBox Right(StrEx, 2) 'Wynik: "hI"MsgBox Right(StrEx, 1) 'Wynik: "I"MsgBox Right(StrEx, 100) 'Wynik: "ABCDEFG hI"Napis końcowy |
VBA Right Function Przycinanie pierwszej litery
Aby usunąć litery z początku ciągu, użyj funkcji RIGHT wraz z funkcją LEN.
Funkcja VBA LEN zlicza liczbę znaków w ciągu:
1 | Len(StrEx) |
Łącząc funkcje, możemy usunąć określoną liczbę znaków z początku ciągu:
12345678 | Sub RightPrzykład_4()Dim StrEx As String 'Zdefiniuj zmienną łańcuchowąStrEx = "ABCDEF"MsgBox Right(StrEx, Len(StrEx)) 'Wynik: "ABCDEF"MsgBox Right(StrEx, Len(StrEx) - 1) 'Wynik: "BCDEF"MsgBox Right(StrEx, Len(StrEx) - 2) 'Wynik: "CDEF"Napis końcowy |
VBA Prawo do wyodrębnienia tekstu po spacji
Aby wyodrębnić nazwisko z ciągu z pełną nazwą, użyj prawej funkcji wraz z funkcją Len i Instr.
Funkcja VBA LEN zlicza liczbę znaków w ciągu:
1 | Len(StrEx) |
Funkcja VBA InStr wyszukuje podciąg wewnątrz ciągu i zwraca numer pozycji podciągu.
1 | InStr(StrEx, " ") |
Łącząc funkcje, możemy wyodrębnić część po pierwszej spacji z frazy:
123456789101112131415 | Sub RightPrzykład_5()Dim StrEx As String 'Zdefiniuj zmienną łańcuchowąStrEx = "Luke Skywalker"MsgBox Right(StrEx, Len(StrEx) - InStr(StrEx, " "))Wynik: „Skywalker”StrEx = "Leonardo da Vinci"MsgBox Right(StrEx, Len(StrEx) - InStr(StrEx, " "))Wynik: „da Vinci”StrEx = "Niech Moc będzie z tobą"MsgBox Right(StrEx, Len(StrEx) - InStr(StrEx, " "))Wynik: „Moc będzie z tobą”Napis końcowy |
Masz dość wyszukiwania przykładów kodu VBA? Wypróbuj Automakro!
VBA Prawo do wyodrębnienia ostatniego słowa
Aby wyodrębnić ostatnie słowo z ciągu z frazą, użyj prawej funkcji wraz z funkcją Len i InstrRev.
Jak widzieliśmy powyżej, funkcja VBA LEN zlicza liczbę znaków w ciągu:
1 | Len(StrEx) |
Funkcja VBA InStrRev wyszukuje podciąg wewnątrz ciągu i zwraca numer pozycji podciągu. Rozpoczyna wyszukiwanie od końca frazy (od prawej do lewej), ale zwraca pozycję od początku ciągu (od lewej do prawej).
1 | InStrRev(StrEx, " ") |
Łącząc funkcje, możemy wyodrębnić część po ostatniej spacji z frazy:
123456789101112131415 | Sub RightPrzykład_6()Dim StrEx As String 'Zdefiniuj zmienną łańcuchowąStrEx = "Luke Skywalker"MsgBox Right(StrEx, Len(StrEx) - InStrRev(StrEx, " "))Wynik: „Skywalker”StrEx = "Leonardo da Vinci"MsgBox Right(StrEx, Len(StrEx) - InStrRev(StrEx, " "))Wynik: „da Vinci”StrEx = "Niech Moc będzie z tobą"MsgBox Right(StrEx, Len(StrEx) - InStrRev(StrEx, " "))„Wynik to: „ty”Napis końcowy |