Přejít na hlavní obsah

Split VBA Excel: podrobný popis a příklady použití

  • Šárka Ševčíková
  • Rady

Split - je to jedna z nejužitečnějších funkcí v VBA Excel, která vám umožní rozdělit text na části pomocí zadaného oddělovače. Je to výkonný nástroj, který lze použít ke zpracování řádků složených z několika položek, jako jsou názvy, e-mailové adresy nebo soubory CSV.

V tomto článku poskytneme podrobný popis funkce Split a uvedeme několik příkladů jeho použití. Podíváme se na různé způsoby použití Split, včetně rozdělení řetězce na pole prvků, vyjmutí konkrétního prvku z pole a rozdělení řetězce na dvě části založené na oddělovači.

Příklad použití Split:

Dim text As String
Dim names() As String
text = "Ivanov Petrov Sidorov"
names = Split(text, " ")

V tomto příkladu jsme rozdělili řádek "Ivanov Petrov Sidorov" na tři samostatné řádky pomocí mezery jako oddělovače. Výsledkem je pole se třemi prvky: Ivanov, Petrov a Sidorov. Nyní můžeme tyto prvky řešit samostatně a provádět s nimi potřebné operace.

Funkce tedy Split je nepostradatelný pro práci s textovými daty v aplikaci VBA Excel. Usnadňuje rozdělení řádků na jednotlivé položky a poskytuje flexibilnější zpracování textových dat.

Popis funkce Split VBA Excel

Syntaxe funkce Split je následující:

Split (řádek, oddělovač, [omezovač], [Compare = binary])

  • řádek : povinný parametr, který představuje zdrojový řádek, který je třeba rozdělit na podstavce;
  • oddělovač: povinná možnost označující znak nebo symboly, podle kterých je třeba rozdělit původní řádek;
  • omezovač : volitelný parametr představující symbol nebo symboly, které budou považovány za hraniční symboly a vyloučeny z výsledného pole;
  • Compare: volitelná možnost, která vám umožní zadat typ porovnání řádků (Binary nebo Text).

Funkce Split může být použita k rozdělení řádku na jednotlivá slova nebo prvky podle daného oddělovače, jako je mezera, čárka, středník atd. Tato funkce je užitečným nástrojem při práci s textem a zpracování velkého množství dat.

Příklad použití funkce Split:

Sub SplitExample()Dim myString As StringDim myArray() As StringDim i As LongmyString = "Это пример функции Split"myArray = Split(myString, " ")For i = LBound(myArray) To UBound(myArray)MsgBox myArray(i)Next iEnd Sub

V tomto příkladu se funkce Split používá k rozdělení řádku "toto je příklad funkce Split" na jednotlivá slova. Výsledkem funkce bude pole myArray, které obsahuje podstavce "to", "příklad", "funkce"a " Split". Poté, pomocí cyklu, je každý prvek pole zobrazen v samostatném okně zprávy.

Příklady použití funkce Split VBA Excel

  1. Rozdělení řádku na podstavce pomocí mezery jako oddělovače:
Dim myString As StringDim myArray() As StringmyString = "Пример использования функции Split VBA Excel"myArray = Split(myString, " ")' myArray = ["Пример", "использования", "функции", "Split", "VBA", "Excel"]
Dim myString As StringDim myArray() As StringmyString = "apple,banana,orange"myArray = Split(myString, ",")' myArray = ["apple", "banana", "orange"]
Dim myString As StringDim myArray() As StringmyString = "apple and banana"myArray = Split(myString, " and ")' myArray = ["apple", "banana"]
Dim myString As StringDim myArray() As StringmyString = "apple banana orange"myArray = Split(myString, vbTab)' myArray = ["apple", "banana", "orange"]

To jsou jen některé příklady použití funkce Split VBA Excel. Můžete si hrát s různými oddělovači a řádky, abyste získali požadovaný výsledek ve svém projektu. Tato funkce je velmi užitečná, když potřebujete zpracovat a analyzovat velké množství dat v programu Excel.

Příklad 1: rozdělení řádku podle mezery

Tato funkce Split se používá k rozdělení řetězce na podstavce pomocí oddělovače.

Rozdělení řádku podle mezery bude provedeno následovně:

  • Vytvoříme proměnnou pro uložení původního řádku, například: myString = "toto je příklad řetězce pro oddělení" .
  • Používáme funkci Split s parametry původního řádku a oddělovačem, například: words = Split(myString, " ") .
  • Výsledné podstavce jsou uloženy v poli words.
  • Pro přístup k jednotlivým podstavcům lze použít indexy pole. Například pro získání prvního slova lze použít slova (0).
Sub SplitString()Dim myString As StringDim words() As StringmyString = "Это пример строки для разделения"words = Split(myString, " ")For i = 0 To UBound(words)MsgBox words(i)Next iEnd Sub

V důsledku provádění tohoto kódu se zobrazí zpráva s každým slovem odděleným mezerou:

Použití funkce Split vám tedy umožňuje snadno rozdělit řádek na podstavce a pracovat s nimi samostatně.

Příklad 2: Rozdělení řádku čárkou

Nejprve vyhlásíme proměnnou str a přiřadíme jí hodnotu řádku "apple,banana,cherry".

Dim str As Stringstr = "apple,banana,cherry"

Poté pomocí funkce Split rozdělíme řádek čárkou a výsledek přiřadíme poli.

Dim fruits() As Stringfruits = Split(str, ",")

Nyní bude proměnná fruits obsahovat pole tří prvků: "apple", "banana"a " cherry".

Můžeme přistupovat k prvkům pole fruits podle indexu:

Debug.Print fruits(0) ' Выведет "apple"Debug.Print fruits(1) ' Выведет "banana"Debug.Print fruits(2) ' Выведет "cherry"

Jak je vidět z příkladu, funkce Split umožňuje rozdělit řádek na části podle zadaného oddělovače a uložit výsledek do pole. To je velmi užitečné, když potřebujeme zpracovat data oddělená určitým symbolem nebo řádkem.

Příklad 3: rozdělení řádku podle symbolu přenosu řádku

V tomto příkladu se podíváme na to, jak rozdělit řetězec do několika podřad podle symbolu přenosu řádku v VBA Excel. K tomu použijeme funkci Split ().

Funkce Split () rozděluje řetězec na pole podřazení pomocí zadaného oddělovače. Jako oddělovač v tomto případě použijeme symbol přenosu řádku(Chr (10)). Při použití tohoto symbolu bude řetězec rozdělen do podřad pokaždé, když v něm dojde k přenosu řetězce.

Vezměme si následující příklad:

Sub SplitByNewLine()Dim str As StringDim arr() As String' Присваиваем строке значение с переносом строкиstr = "Первая строка" & Chr(10) & "Вторая строка" & Chr(10) & "Третья строка"' Разделяем строку на подстроки по символу переноса строкиarr = Split(str, Chr(10))' Выводим каждую подстроку в отдельной ячейкеFor i = LBound(arr) To UBound(arr)Cells(i + 1, 1).Value = arr(i)Next iEnd Sub

Při provádění tohoto kódu se v buňkách sloupce A zobrazí následující výsledek:

Řádek
První řádek
Druhý řádek
Třetí řádek

Jak je vidět z příkladu, funkce Split () úspěšně rozdělila původní řádek podle symbolu přenosu řetězce a vytvořila pole podřazení.

Použití funkce Split () tedy umožňuje snadné rozdělení řádku na více řádků podle daného oddělovače, což může být užitečné při zpracování textových dat v aplikaci VBA Excel.