Tento tutoriál předvede, jak pomocí funkce Right VBA extrahovat text zprava.
Správná funkce
Pravá funkce VBA Poslední n znaků
Funkce VBA Right vrací posledních n znaků z řetězce:
123456 | Sub RightExample_1 ()MsgBox Right ("ABCDEFGHI", 4) 'Výsledek je: "FGHI"MsgBox Right ("ABCDEFGHI", 2) 'Výsledek je: "HI"MsgBox Right ("ABCDEFGHI", 1) 'Výsledek je: "I"MsgBox Right ("ABCDEFGHI", 100) 'Výsledek je: "ABCDEFGHI"End Sub |
Pravá funkce VBA Poslední n znaků v proměnné
Jak je uvedeno výše, řetězec můžete definovat jednoduše zadáním textu obklopeného uvozovkami. Funkce RIGHT však bude fungovat také s řetězcovými proměnnými. Tyto příklady extrahují posledních n znaků z řetězcové proměnné.
123456789 | Sub RightExample_2 ()Dim StrEx As String 'Definujte proměnnou řetězceStrEx = "ABCDEFGHI"MsgBox Right (StrEx, 4) 'Výsledek je: "FGHI"MsgBox Right (StrEx, 2) 'Výsledek je: "HI"MsgBox Right (StrEx, 1) 'Výsledek je: "I"MsgBox Right (StrEx, 100) 'Výsledek je: "ABCDEFGHI"End Sub |
Programování VBA | Generátor kódu pracuje pro vás!
Pravá funkce VBA Poslední n Znaky z buňky
Řetězce lze definovat v kódu VBA, ale také můžete použít hodnoty z buněk. Přečtěte si hodnotu buňky, ponechte ji v řetězcové proměnné a extrahujte posledních n znaků z této hodnoty buňky listu.
123456789101112 | Sub RightExample_3 ()Dim StrEx As String 'Definujte proměnnou řetězce'Přečtěte si hodnotu buňky A1 v listu List1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Range ("A1"). Value„V tomto případě je hodnota buňky A1„ ABCDEFG hI “MsgBox Right (StrEx, 4) 'Výsledek je: "G hI"MsgBox Right (StrEx, 2) 'Výsledek je: "hI"MsgBox Right (StrEx, 1) 'Výsledek je: "I"MsgBox Right (StrEx, 100) 'Výsledek je: "ABCDEFG hI"End Sub |
Správná funkce VBA Ořízněte první písmeno
Chcete -li odstranit písmena ze začátku řetězce, použijte funkci VPRAVO společně s funkcí LEN.
Funkce VBA LEN počítá počet znaků v řetězci:
1 | Len (StrEx) |
Kombinací funkcí můžeme ze začátku řetězce odstranit určitý počet znaků:
12345678 | Sub RightExample_4 ()Dim StrEx As String 'Definujte proměnnou řetězceStrEx = "ABCDEF"MsgBox Right (StrEx, Len (StrEx)) 'Výsledek je: "ABCDEF"MsgBox Right (StrEx, Len (StrEx) - 1) 'Výsledek je: "BCDEF"MsgBox Right (StrEx, Len (StrEx) - 2) 'Výsledek je: "CDEF"End Sub |
VBA právo extrahovat text za mezerou
Chcete -li extrahovat příjmení z řetězce s celým jménem, použijte správnou funkci spolu s funkcí Len a Instr.
Funkce VBA LEN počítá počet znaků v řetězci:
1 | Len (StrEx) |
Funkce VBA InStr vyhledá podřetězec uvnitř řetězce a vrátí číslo pozice podřetězce.
1 | InStr (StrEx, "") |
Kombinací funkcí můžeme z fráze extrahovat část za prvním mezerou:
123456789101112131415 | Sub RightExample_5 ()Dim StrEx As String 'Definujte proměnnou řetězceStrEx = "Luke Skywalker"MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))Výsledkem je „Skywalker“StrEx = "Leonardo da Vinci"MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))Výsledkem je „da Vinci“StrEx = „Ať je Síla s tebou“MsgBox Right (StrEx, Len (StrEx) - InStr (StrEx, ""))Výsledek je: „Síla s vámi“End Sub |
Už vás nebaví hledat příklady kódu VBA? Zkuste AutoMacro!
VBA právo extrahovat poslední slovo
Chcete -li extrahovat poslední slovo z řetězce pomocí fráze, použijte správnou funkci spolu s funkcí Len a InstrRev.
Jak jsme viděli výše, funkce VBA LEN počítá počet znaků v řetězci:
1 | Len (StrEx) |
Funkce VBA InStrRev vyhledá podřetězec uvnitř řetězce a vrátí číslo pozice podřetězce. Spustí vyhledávání od konce fráze (zprava doleva), ale vrátí pozici od začátku řetězce (zleva doprava).
1 | InStrRev (StrEx, "") |
Kombinací funkcí můžeme z fráze extrahovat část za posledním mezerou:
123456789101112131415 | Sub RightExample_6 ()Dim StrEx As String 'Definujte proměnnou řetězceStrEx = "Luke Skywalker"MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))Výsledkem je „Skywalker“StrEx = "Leonardo da Vinci"MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))Výsledkem je „da Vinci“StrEx = „Ať je Síla s tebou“MsgBox Right (StrEx, Len (StrEx) - InStrRev (StrEx, ""))Výsledkem je „vy“End Sub |