Pravá funkce VBA - extrahujte text zprava

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
wave wave wave wave wave