VBA SubString

Excel VBA SubString

Excel VBA SubString je velmi užitečný typ funkce ve VBA, která slouží k rozřezání dat ve formě řetězce. Ve funkcích pracovního listu však máme tři podřetězcové funkce, kterými jsou funkce Left-right a mid, zatímco ve VBA máme jako podřetězcové funkce Left-right mid a split. Jak sám název napovídá, funkce podřetězce ve VBA rozděluje řetězec na více podřetězců. Také jak bylo vysvětleno výše, ve VBA existuje více funkcí VBA Substring. V tomto článku se naučíme používat tyto podřetězcové funkce samostatně s příklady. Než přejdeme k příkladům, naučíme se nejprve syntaxi těchto funkcí a jaký argument tyto funkce přijímají jako vstup.

Syntaxe podřetězců Excel VBA

Následují různé syntaxe:

Sledujte naše ukázkové kurzy a videa

Vyhodnocení, Hadoop, Excel, mobilní aplikace, vývoj webových aplikací & mnoho dalších.

Syntaxe funkce Left SubString:

Textový řetězec je řetězec, který zadáváme jako vstup, zatímco délka je počet znaků, které chceme ze vstupního řetězce.

Příklad:

Levý („ANAND“,2)

Syntaxe funkce Pravý podřetězec:

Textový řetězec je řetězec, který zadáváme jako vstup, zatímco délka je počet znaků, které chceme ze vstupního řetězce.

Příklad: Pokud máme řetězec jako ANAND a použijeme stejný kód jako výše, výsledek bude

Pravda („ANAND“,2)

Takto dostaneme jako výsledek ND.

Syntaxe funkce Mid SubString ve VBA:

Textový řetězec je řetězec, který poskytujeme jako vstup, a Start pozice je pozice, kde chceme, aby začal znak pro extrakci, zatímco délka je počet znaků, které chceme ze vstupního řetězce.

Příklad:

MID („COMPUTER“,4,3)

Syntaxe funkce Split SubString:

  • Výraz jako řetězec: Jedná se o povinný argument funkce SPLIT. Je to v podstatě vstupní řetězec, který poskytujeme.
  • Oddělovač: Toto je nepovinný argument. Je to konkrétní oddělovač, který rozděluje řetězec, ale ve výchozím nastavení je za výchozí oddělovač považována mezera.
  • Limit: Toto je také nepovinný argument. Limit znamená maximální počet částí, které chceme z řetězce udělat. Pokud však funkci limit nezadáme, VBA jej opět považuje za výchozí -1. Z toho vyplývá, že řetězec bude rozdělen pokaždé, když se v něm bude nacházet oddělovač.
  • Porovnat: Tento poslední argument je rovněž nepovinným argumentem. Compare je metoda porovnání, která je jednou ze dvou níže uvedených:
  1. Buď je to 0, což znamená, že SPLIT provede binární porovnání, což znamená, že každý znak by se měl shodovat.
  2. Nebo to může být 1, což znamená, že funkce SPLIT provede textové porovnání.

Funkce SPLIT je nejzáludnější a nejužitečnější ze všech výše uvedených funkcí pro porovnávání podřetězců. Všechny tři ostatní podřetězcové funkce používají jako vstup jeden řetězec, zatímco funkce Split používá pole řetězců.

Příklad když napíšu Split(„JSEM DOBRÝ CHLAPEC“), rozdělí řetězec jako samostatný (každé slovo jako samostatné). Nyní tyto podřetězcové funkce použijeme v příkladech.

Poznámka: Abychom mohli používat VBA, musíme mít povolenou kartu pro vývojáře z karty souboru v sekci Možnosti.

Jak používat podřetězcové funkce ve VBA?

Naučíme se používat funkci SubString v Excelu pomocí kódu VBA.

Tuto šablonu VBA SubString Excel si můžete stáhnout zde – VBA SubString Excel Template

Příklad č. 1

Funkce levého podřetězce ve VBA. Použijme první podřetězcovou funkci ve VBA. Za tímto účelem postupujte podle následujících kroků:

Krok 1: Přejděte na kartu vývojáře a kliknutím na Visual Basic otevřete editor VB.

Krok 2: Vložte nový modul uvnitř editoru Visual Basic (VBE). Klepněte na záložku Insert > a vyberte Module.

Krok 3: Deklarovat podfunkci a začít psát kód.

Kód:

Sub Sample()End Sub

Krok 4: Deklarujte dva řetězce, jeden pro příjem vstupu od uživatele a druhý pro uložení hodnoty výsledku.

Kód:

Sub Sample()Dim A, B As StringEnd Sub

Krok 5: Přijměte vstup od uživatele pro vstupní řetězec pomocí funkce input box.

Kód:

Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub

Krok 6: Do proměnné B uložte hodnotu z levé funkce až na třetí místo.

Kód:

Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Left(A, 3)End Sub

Krok 7: Pomocí funkce Msgbox zobrazte konečný výsledek.

Kód:

Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Left(A, 3)MsgBox BEnd Sub

Krok 8: Nyní spusťte výše uvedený kód stisknutím klávesy F5. a vstupní řetězec zapište jako ANAND.

Krok 9: Po stisknutí tlačítka OK vidíme výsledek funkce levého podřetězce.

ANA jsou tři znaky zleva řetězce.

Příklad č. 2

Funkce pravého podřetězce ve VBA. Za tímto účelem postupujte podle následujících kroků:

Krok 1: Ve stejném modulu deklarujte další podfunkci, abyste mohli začít psát kód pro funkci pravý podřetězec.

Kód:

Sub Rightsub()End Sub

Krok 2: Deklarujte dvě proměnné A a B jako řetězec.

Kód:

Sub Rightsub()Dim A, B As StringEnd Sub

Krok 3: Přijměte vstup od uživatele a uložte jeho hodnotu do proměnné A.

Kód:

Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub

Krok 4: Použijte funkci Right na řetězec na třetím místě a uložte hodnotu do proměnné B.

Kód:

Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Right(A, 3)End Sub

Krok 5: Pomocí funkce Msgbox zobrazte hodnotu proměnné B.

Kód:

Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Right(A, 3)MsgBox BEnd Sub

Krok 6: Spusťte kód a zadejte vstupní řetězec jako „MATKA“.

Krok 7: Stiskněte tlačítko OK, abyste viděli výsledek.

HER jsou tři znaky z pravé strany řetězce.

Příklad č. 3

Funkce Mid Substring ve VBA. Postupujte přitom podle následujících kroků:

Krok 1: Ve stejném modulu deklarujte další podfunkci a začněte psát kód funkce Mid.

Kód:

Sub MIDsub()End Sub

Krok 2: Deklarujte dvě proměnné A a B jako String.

Kód:

Sub MIDsub()Dim A, B As StringEnd Sub

Krok 3: Přijměte vstup od uživatele a uložte hodnotu do proměnné A.

Kód:

Sub MIDsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub

Krok 4: Pomocí funkce Mid s počáteční pozicí 4 a délkou 3 uloží hodnotu do proměnné B a zobrazí ji pomocí funkce Msgbox.

Kód:

Sub MIDsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Mid(A, 4, 3)MsgBox BEnd Sub

Krok 5: Spusťte výše uvedený kód a jako vstup zadejte COMPUTER.

Krok 6: Stiskněte OK a zobrazte konečný výsledek.

Podřetězec PUT začíná od 4. pozice a úspěšně jsme extrahovali tři znaky.

Příklad č. 4

Funkce VBA Split SubString. Postupujte přitom podle následujících kroků:

Krok 1: Ve stejném modulu deklarujte podfunkci a začněte psát kód pro podfunkci.

Kód:

Sub SplitSub()End Sub

Krok 2: Deklarujte dvě proměnné A jako řetězec a B jako pole řetězců a přijměte vstupní řetězec od uživatele a uložte jej do proměnné A.

Kód:

Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")End Sub

Krok 3: Použijte funkci Split SubString a uložte jeho hodnotu do proměnné B.

Kód:

Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")B = Split(A, ",")End Sub

Krok 4: Pomocí smyčky For zobrazte každý Podřetězec na jednom řádku.

Kód:

Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")B = Split(A, ",")For i = LBound(B) To UBound(B)strg = strg & vbNewLine & "String Number " & i & " - " & B(i)Next iMsgBox strgEnd Sub

Krok 5 Spusťte výše uvedený kód a jako vstup zadejte I,AM,GOOD,BOY.

Krok 6: Stiskněte tlačítko OK, abyste viděli výsledek.

Ve výše uvedeném příkladu jsme jako oddělovač použili „,“.

Závěr

Stejně jako funkce podřetězce v pracovním listu má i VBA funkce podřetězce. Jsou to funkce Left Right Mid a Split. V podstatě funkce Substring rozdělují řetězec nebo pole řetězců na více podřetězců. Pokud chceme podřetězec z levé části řetězce, použijeme funkci Left nebo v opačném případě Right. Pokud chceme prostřední znak libovolného řetězce, použijeme funkce MID. Také pokud máme pole řetězců, použijeme funkce split.

Napomenutí

Je několik věcí, které si musíme zapamatovat o funkcích Substring ve VBA:

  • Je to podobné jako funkce Substring v pracovním listu.
  • Funkce Substring rozdělí daný řetězec na podřetězce.
  • Pokud máme pole řetězců, použijeme funkci Split.
  • Pouze vstupní řetězec ve funkci Split je povinný, zatímco ostatní jsou nepovinné.

Doporučené články

Toto je průvodce funkcí VBA SubString. Probíráme zde použití funkce SubString v Excelu VBA spolu s praktickými příklady a šablonou Excelu ke stažení. Můžete si také projít naše další navrhované články –

  1. VBA SendKeys
  2. VBA On Error Goto
  3. VBA Input
  4. VBA LBound
0 Akcie

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.