Řetězcové funkce aplikace Excel VBA
Funkce VBA String nenahrazuje řetězec, ale výsledek této funkce vytvoří nový řetězec. Ve VBA existuje mnoho řetězcových funkcí a všechny jsou kategorizovány pod řetězcovými nebo textovými funkcemi, některé z důležitých funkcí jsou funkce LEFT pro získání hodnoty zleva a funkce RIGHT pro získání hodnoty zprava nebo funkce MID, LEN a INSTR .
Funkce řetězce jsou tak důležité. Hned od zjištění počtu znaků zadaného řetězce můžeme z řetězce extrahovat libovolné znaky. Můžeme extrahovat znaky z levé strany řetězce, můžeme extrahovat z pravé strany řetězce, můžeme extrahovat ze středu řetězce, můžeme kombinovat dva texty a také je můžeme rozdělit .
Je důležité mít v rámci velkého projektu spravedlivé znalosti o všech těchto funkcích VBA.
Seznam nejlepších 6 řetězcových funkcí ve VBA
- Funkce LEN
- LEVÁ funkce
- PRAVÁ funkce
- Funkce MID
- Funkce TRIM
- Funkce Instr
![](https://cdn.know-base.net/8389411/vba_string_functions_list_of_top_6_string_functions_examples.png.webp)
Jedna věc, kterou bych chtěl říct, je, že „řetězcové funkce VBA jsou textové funkce v listu.“
K hraní s daty jste již museli používat funkce LEN, LEFT, RIGHT, MID, SUBSTITUTE excel. Také ve VBA je můžeme použít k hraní s daty.
Budeme diskutovat o některých důležitých funkcích tohoto článku.
# 1 - Funkce LEN
LEN znamená „DÉLKA“. Tím získáte počet znaků zahrnutých v zadaném řetězci. Například pokud zadáte slovo „Hello“, funkce LEN ve funkci Excel vrátí 5 jako výsledek, protože ve slově „Hello“ je 5 znaků.
Níže uvedený kód zobrazí příklad.
Kód:
Sub LEN_Example () Dim TotalCount jako řetězec TotalCount = Len ("Hello") MsgBox TotalCount End Sub
Výsledek se zobrazí v okně se zprávou jako 5.
![](https://cdn.know-base.net/8389411/vba_string_functions_list_of_top_6_string_functions_examples.gif)
# 2 - LEVÁ funkce
Abychom mohli extrahovat znaky z levé strany řetězce, musíme použít funkci VBA LEFT. Podívejte se na syntaxi funkce LEFT.
![](https://cdn.know-base.net/8389411/vba_string_functions_list_of_top_6_string_functions_examples_2.png.webp)
- Řetězec je řetězec, který se snažíme extrahovat.
- Délka není nic jiného než kolik znaků potřebujete z levé strany dodaného řetězce .
Kód:
Sub LEFT_Example () Dim FirstName jako řetězec FirstName = Left ("Sachin Tendulkar", 6) MsgBox FirstName End Sub
Tím se extrahuje prvních 6 znaků z řetězce „Sachin Tendulkar“. Výsledkem bude tedy křestní jméno, tj. „Sachin“.
![](https://cdn.know-base.net/8389411/vba_string_functions_list_of_top_6_string_functions_examples_2.gif)
# 3 - PRAVÁ funkce
Stejně jako jsme podobně extrahovali hodnoty z levé strany řetězce, můžeme extrahovat také z pravé strany řetězce.
Syntaxe funkce RIGHT je přesně stejná jako funkce LEFT.
![](https://cdn.know-base.net/8389411/vba_string_functions_list_of_top_6_string_functions_examples_3.png.webp)
- Řetězec je řetězec, který se snažíme extrahovat.
- Délka není nic jiného než počet znaků, které potřebujete z pravé strany dodaného řetězce .
Kód:
Sub RIGHT_Example () Dim LastName As String LastName = Right ("Sachin Tendulkar", 9) MsgBox LastName End Sub
Tím se z řetězce „Sachin Tendulkar“ extrahuje 9 znaků. Výsledkem tedy bude příjmení, tj. „Tendulkar“.
![](https://cdn.know-base.net/8389411/vba_string_functions_list_of_top_6_string_functions_examples_3.gif)
# 4 - Funkce MID
Nejen z levé a pravé strany řetězce, ale také ze středu řetězce také můžeme extrahovat znaky. Níže je uvedena syntaxe funkce VBA MID.
![](https://cdn.know-base.net/8389411/vba_string_functions_list_of_top_6_string_functions_examples_4.png.webp)
- Řetězec k vyhledávání: Od kterého řetězce potřebujeme střední hodnotu
- Výchozí pozice: Jaké číslo počáteční pozice postavy se má extrahovat?
- Počet znaků k extrahování: Od počáteční polohy, kolik znaků je třeba extrahovat.
Například pokud je název „Sachin Ramesh Tendulkar“, zde je prostřední jméno „Ramesh“ v této počáteční pozici řetězce, který má být extrahován, 8 a od počáteční polohy potřebujeme 6 znaků. Níže uvedený kód extrahuje střední hodnotu.
Kód:
Sub MID_Example () Dim MiddleName jako řetězec MiddleName = Mid ("Sachin Ramesh Tendulkar", 8, 6) MsgBox MiddleName End Sub
Tím se extrahuje „Ramesh“ ze středu řetězce „Sachin Ramesh Tendulkar“.
![](https://cdn.know-base.net/8389411/vba_string_functions_list_of_top_6_string_functions_examples_4.gif)
# 5 - Funkce TRIM
TRIM je funkce čištění dat. Odstraní z řetězce nežádoucí znaky mezery. Podívejte se na syntaxi funkce TRIM.
![](https://cdn.know-base.net/8389411/vba_string_functions_list_of_top_6_string_functions_examples_5.png.webp)
Je to přímočará hodnota nebo řetězec, který chcete oříznout.
Předpokládejme například, že máte řetězec „Ahoj, jak se máš?“. Zde máme zbytečné mezery před slovem „Hello“, tedy pomocí TRIM. Můžeme to vyloučit.
Kód:
Sub TRIM_Example () Dim MyValue jako řetězec MyValue = Trim ("Hello how are you?") MsgBox MyValue End Sub
Tím odstraníte nežádoucí znaky mezery z dodaného řetězce.
![](https://cdn.know-base.net/8389411/vba_string_functions_list_of_top_6_string_functions_examples_5.gif)
Ve VBA máme také funkce LTRIM a RTRIM. LTRIM odstraní nežádoucí mezery z levé strany řetězce a RTRIM odstraní nežádoucí mezery z pravé strany řetězce.
# 6 - Funkce Instr
Funkce Instr je užitečná při hledání polohy zadaného znaku v řetězci. Syntaxe funkce INSTR je následující.
![](https://cdn.know-base.net/8389411/vba_string_functions_list_of_top_6_string_functions_examples_6.png.webp)
- (Start) Od které pozice dodaného řetězce potřebujeme pozici.
- (String1) Jaký je řetězec, na který odkazujete?
- (String2) Jaký je znak, který hledáte v (String1).
Například pokud máte slovo „Recept“ a chcete najít pozici znaku „e“ z prvního místa níže, zobrazí kód pozici písmene „e“.
Kód:
Sub INSTR_Example () Dim MyValue jako řetězec MyValue = InStr (1, "Recept", "e") MsgBox MyValue End Sub
Takže z první pozice řetězce je pozice „e“ 2.
![](https://cdn.know-base.net/8389411/vba_string_functions_list_of_top_6_string_functions_examples_6.gif)
Pokud chcete pozici druhého vzhledu písmene „e“, musíte použít argument Start jako 3.
Kód:
Sub INSTR_Example () Dim MyValue jako řetězec MyValue = InStr (3, "Recept", "e") MsgBox MyValue End Sub
V tomto případě je tedy poloha písmene „e“ po prvním objevení šestá .
![](https://cdn.know-base.net/8389411/vba_string_functions_list_of_top_6_string_functions_examples_7.gif)
Toto jsou některé z důležitých řetězcových funkcí. Doufám, že se vám to líbilo.