Pravá funkce VBA (příklady) | Průvodce krok za krokem k aplikaci Excel VBA vpravo
Správná funkce ve VBA Excel
Pravá funkce je stejná jako u funkce listu i VBA, použití této funkce spočívá v tom, že nám dává podřetězec z daného řetězce, ale vyhledávání se provádí zprava doleva od řetězce, jedná se o typ řetězcové funkce ve VBA používá se s metodou funkce application.worksheet.
PRAVÁ Funkce v aplikaci Excel VBA, která se používá k extrakci znaků z pravé strany zadaných textových hodnot. V aplikaci Excel máme mnoho textových funkcí pro práci s textovými daty. Některé z užitečných funkcí jsou funkce LEN, LEFT, RIGHT, MID pro extrahování znaků z textových hodnot. Běžným příkladem použití těchto funkcí je extrahování jména a příjmení odděleně od celého jména.
Rovný vzorec je také v listu. Ve VBA se musíme spoléhat na třídu funkcí listu pro přístup k funkci VBA RIGHT, spíše máme vestavěnou funkci RIGHT také ve VBA.
Nyní se podívejte na níže uvedenou syntaxi vzorce VBA RIGHT.
- Řetězec: Toto je naše hodnota a z této hodnoty se snažíme extrahovat znaky z pravé strany řetězce.
- Délka: Z dodaného řetězce, kolik znaků potřebujeme. Pokud potřebujeme čtyři znaky z pravé strany, můžeme argument dodat jako 4.
Pokud je například řetězec „Mobilní telefon“ a chceme-li extrahovat pouze slovo „Telefon“, můžeme zadat argument jako níže.
VPRAVO („mobilní telefon“, 5)
Důvod, proč jsem zmínil 5, protože slovo „Telefon“ má 5 písmen. V další části článku uvidíme, jak jej můžeme použít ve VBA.
Příklady funkce Excel VBA Right
Následuje ukázka správných funkcí VBA Excel.
Tuto šablonu Excel s pravými funkcemi VBA si můžete stáhnout zde - šablonu Excel s pravými funkcemi VBA
Příklad č. 1
Ukážu vám jednoduchý příklad k zahájení řízení. Předpokládejme, že máte řetězec „New York“ a pokud chcete z pravé strany extrahovat 3 znaky, postupujte podle následujících kroků a napište kód.
Krok 1: Deklarujte proměnnou jako řetězec VBA.
Kód:
Sub Right_Example1 () Dim k As String End Sub
Krok 2: Nyní této proměnné přiřadíme hodnotu pomocí funkce RIGHT.
Kód:
Sub Right_Example1 () Dim k As String k = Right (End Sub
Krok 3: První argument je řetězec a náš řetězec pro tento příklad je „New York“.
Kód:
Sub Right_Example1 () Dim k As String k = Right ("New York", End Sub
Krok 4: Další krok je, kolik znaků potřebujeme z dodaného řetězce. V tomto příkladu potřebujeme 3 znaky.
Kód:
Sub Right_Example1 () Dim k As String k = Right ("New York", 3) End Sub
Krok 5: Musíme se vypořádat se 2 argumenty, takže jsme hotoví. Nyní přiřaďte hodnotu této proměnné do pole se zprávou ve VBA.
Kód:
Sub Right_Example1 () Dim k As String k = Right ("New York", 3) MsgBox k End Sub
Spusťte kód pomocí klávesy F5 nebo ručně a zobrazte výsledek v okně se zprávou.
Ve slově „New York“ z pravé strany jsou 3 znaky „ork“.
Nyní změním délku ze 3 na 4, abych získal plnou hodnotu.
Kód:
Sub Right_Example1 () Dim k As String k = Right ("New York", 4) MsgBox k End Sub
Spusťte tento kód ručně nebo pomocí klávesy F5, dostaneme „York“.
Příklad č. 2
Nyní se podívejte na další příklad, tentokrát považujte hodnotu řetězce za „Michael Clarke“.
Pokud zadáte délku 6, dostaneme jako výsledek „Clarke“.
Kód:
Sub Right_Example1 () Dim k As String k = Right ("Michael Clarke", 6) MsgBox k End Sub
Spusťte tento kód pomocí klávesy F5 nebo ručně, abyste viděli výsledek.
Funkce Dynamic Right v aplikaci Excel VBA
Pokud sledujete naše předchozí dva příklady, zadali jsme čísla argumentů délky ručně. To však není správný postup pro provedení této práce.
V každém z řetězců jsou znaky na pravé straně v každém případě odlišné. Nemůžeme odkazovat na délku znaků ručně pro každou hodnotu jinak. Zde hraje důležitou roli další funkce řetězce „Instr“.
Funkce Instr vrací pozici zadaného znaku v hodnotě zadaného řetězce. Například Instr (1, „Bangalore“, „a“) vrací pozici písmene „a“ v řetězci „Bangalore“ od prvního (1) znaku.
V tomto případě je výsledek 2, protože od polohy prvního znaku písmene „a“ je 2. pozice.
Pokud změním výchozí pozici z 1 na 3, vrátí se 5.
Instr (3, „Bangalore“, „a“) .
Důvod, proč se vrací 5, protože jsem zmínil výchozí pozici hledat písmeno „a“ až od 3. písmene. Pozice druhého „a“ je tedy 5.
Takže k vyhledání znaku mezery každého řetězce můžeme použít toto. Jakmile najdeme pozici mezerového znaku, musíme ji pomocí LEN mínus z celkové délky řetězce.
Například v řetězci „New York“ je celkový počet znaků 8 včetně mezery a pozice mezery je 4.. Takže 8-4 = 4 vpravo extrahuje 4 znaky zprava.
Nyní se podívejte na níže uvedený kód, který slouží jako reference.
Kód:
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
Ve výše uvedeném kódu proměnná „L“ vrátí 14 a proměnná „S“ vrátí 8.
V pravém vzorci VBA jsem použil L - S, tj. 14-8 = 6. Takže z pravé strany 6 znaků, tj. „Clarke“.
Smyčky se správnou funkcí v aplikaci Excel VBA
Když potřebujeme použít funkci VBA RIGHT s mnoha buňkami, musíme to zahrnout do smyček. Podívejte se například na obrázek níže.
Nemůžeme použít mnoho řádků kódu k extrahování řetězce z pravé strany. Musíme tedy zahrnout smyčky. Níže uvedený kód to udělá pro výše uvedená data.
Kód:
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, "") Buňky (a, 2) .Value = Right (Buňky (a, 1), L - S) Další a End Sub
Výsledek tohoto kódu je následující.