Podřetězec je jednou z nejoblíbenějších funkcí v každém programovacím jazyce. Usnadňuje vám práci při práci s řetězci. Jak už název napovídá, funkce podřetězce rozděluje řetězec na různé části podle určitých kritérií.
Funkcí VBA Substring je více. V praktických situacích mohou být tyto podřetězcové funkce docela užitečné při extrakci části řetězce.
Dnes v tomto příspěvku vysvětlím všechny podřetězcové funkce VBA, které můžete použít v makrech Excelu:
Obsah
Funkce LEFT Substring:
Funkce LEFT v Excelu VBA slouží k načtení zadaného počtu znaků od začátku řetězce.
Vlevo ("Exceltrick", 5) 'dává výstup "Excel"
Vlevo ("SomeText", 4) 'dává výsledek "Some"
Poznámka: Místo použití pevně zadaného řetězce v prvním argumentu můžete také načíst ‚text_string‘ z listu Excelu jako ActiveSheet.Range(„A1“).
Pravá funkce Substring:
Funkce RIGHT v Excelu VBA je pravým opakem funkce LEFT. Vrací zadaný počet znaků od konce textového řetězce. Syntaxe funkce RIGHT je následující:
Pravý (text_řetězec, délka)
- Zde ‚text_řetězec‘ označuje vstupní řetězec, který má být oddělen.
- A ‚délka‘ označuje počet znaků, které mají být extrahovány, ale extrakce začíná z pravé strany.
Příklad:
Pravý ("Exceltrick", 5) 'dává výstup "trik"
Pravý ("SomeText", 4) 'dává výsledek "Text"
Poznámka: Místo použití pevně zadaného řetězce v prvním argumentu můžete také získat ‚text_string‘ z listu Excelu jako ActiveSheet.Range(„A1“).
MID Funkce Substring:
MID je mnohem lepší funkce než první dvě, dává vám možnost určit počáteční a koncovou pozici extrahovaného řetězce. Syntaxe funkce MID VBA Substring je následující:
Mid(text_řetězec, počáteční_pozice, délka)
- Zde ‚text_řetězec‘ označuje vstupní řetězec, který má být oddělen.
- ‚start_position‘ označuje číselnou pozici, od které se má začít extrahovat.
- A ‚length‘ označuje počet znaků, které se mají extrahovat.
Příklad:
MID ("Exceltrick", 2,4) 'dává výstup "celt"
MID ("SomeText", 4,4) 'dává výsledek "Text"
Poznámka: Místo použití pevně zadaného řetězce v prvním argumentu můžete také získat ‚text_string‘ z listu Excelu jako ActiveSheet.Range(„A1“).
Funkce SPLIT Substring:
Funkce SPLIT je další funkcí VBA, kterou lze použít pro podřetězec nebo rozdělení řetězce. Funkce SPLIT se může velmi hodit, pokud rozdělujete textový řetězec na více částí na základě oddělovače. Syntaxe funkce split je následující:
Split (text_řetězec, Delimiter, limit, Compare)
- Zde ‚text_řetězec‘ označuje vstupní řetězec, který má být rozdělen.
- ‚Delimiter‘ označuje oddělovací znak, který rozděluje řetězec na části. Jedná se o nepovinný argument, pokud je ponechán prázdný, předpokládá se, že výchozím oddělovačem je znak mezery “ „.
- ‚limit‘ označuje maximální počet částí podřetězce, na které má být řetězec rozdělen.
Například máte textový řetězec jako „Toto je textový řetězec“ a nyní musíte tento řetězec rozdělit na jednotlivá slova, takže v tomto případě použijete jako oddělovač mezeru “ „. Funkci split použijete takto:
Split ("Toto je textový řetězec", " ")
Výsledkem této funkce split je pole slov: „Toto“ „je“ „a“ „textový“ „řetězec“.
Doporučená četba: VBA Split Function
Příklad makra VBA Substring:
Níže jsem vytvořil makro, které ilustruje všechny techniky podřetězců dostupné v programování VBA. Jedná se o jednoduché a srozumitelné makro, v němž jsem jednoduše rozdělil textový řetězec pomocí 4 metod, které jsem popsal výše.
Níže je uveden kód, který jsem pro toto makro použil:
Sub BreakStrings()
'Left funkce
a = Left("Excel Trick Text", 5)
'Right funkce
b = Right("Excel Trick Text", 11)
'Mid funkce
c = Mid("Excel Trick Text", 1, 11)
'Funkce Split
d = Split("Excel Trick Text", " ")
For Each wrd In d
strg = strg & wrd & ", "
Next
'Zobrazení výsledků v okně mesage
MsgBox "Left: Vpravo: " & a & vbNewLine & "Vpravo: " & b & vbNewLine & "Mid: " & c & vbNewLine & "Split: "& strg
End SubTakže to bylo všechno o funkcích VBA pro podřetězce. Podělte se o svůj názor související s tématem.