Съдържание
В тази статия ще ви покажа как можете да разделите низ в масив в VBA . Сплит е една от най-важните и широко използвани функции, които използваме в VBA . Ще се научите да разделяте низ в VBA по всички възможни начини.
Функция за разделяне на VBA (бърз преглед)
=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])
Изтегляне на работна тетрадка за практика
Разделяне на низ в масив.xlsm3 начина за разделяне на низ в масив във VBA
Да вземем една струна в ръката си "Кандидатствахме за виза за САЩ, Канада, Австралия и Франция." .
Ще ви покажа как можете да разделите този низ на масив по всички възможни начини с помощта на Функция за разделяне на VBA .
1. Използване на произволен разделител за разделяне на низ в масив във VBA
Можете да използвате всеки низ като разделител, за да разделите низ в масив в VBA .
Може да бъде интервал (" ") , a запетая (",") , a точка и запетая (":") , единичен символ, низ от символи или нещо друго.
⧭ Пример 1:
Нека разделим низа с помощта на запетая като разделител.
Редът от кода ще бъде:
Arr = Split(Текст, ",")
Пълният Код VBA ще бъде:
⧭ Код VBA:
Sub Split_String() Text = "Кандидатствахме за виза за САЩ, Канада, Австралия и Франция." Arr = Split(Text, ",") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Изход:
Тя ще раздели символния низ на масив, състоящ се от {"Кандидатствахме за виза за САЩ", "Канада", "Австралия", "Франция"}.
⧭ Пример 2:
Можете да използвате и интервал (" ") като разделител.
Редът от кода ще бъде:
Arr = Split(Текст, " ")
Пълният Код VBA ще бъде:
⧭ Код VBA:
Sub Split_String() Text = "Кандидатствахме за виза за САЩ, Канада, Австралия и Франция." Arr = Split(Text, " ") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Изход:
Тя ще раздели символния низ на масив, състоящ се от {"Ние", "кандидатства", "за", "на", "виза", "на", "САЩ", "Канада", "Австралия", "Франция", "}.
⧭ Нещата, които трябва да запомните:
- Разделителят по подразбиране е интервал (" ") .
- Тоест, ако не вмъкнете никакъв разделител, ще се използва пространство като разделител.
Прочетете още: Разделяне на низ по символ в Excel (6 подходящи начина)
Подобни четива:
- Разделяне на текст в няколко клетки в Excel
- VBA за получаване на уникални стойности от колона в масив в Excel (3 критерия)
- Excel VBA: Как да филтрирате с няколко критерия в масив (7 начина)
2. Разделяне на низ в масив с произволен брой елементи
Можете да разделите низ на масив с произволен брой елементи според желанието си.
Въведете броя на елементите като 3. аргумент на Функция за разделяне .
⧭ Пример:
Нека разделим низа на първата част 3 елементи с пространство като разделител.
Редът от кода ще бъде:
Arr = Split(Текст, " ", 3)
И Код VBA ще бъде:
⧭ Код VBA:
Sub Split_String() Text = "Кандидатствахме за виза за САЩ, Канада, Австралия и Франция." Arr = Split(Text, " ", 3) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Изход:
Тя ще раздели символния низ на масив, състоящ се от първите 3 елементи, разделени с разделител пространство .
⧭ Нещата, които трябва да запомните:
- Аргументът по подразбиране е -1 .
- Това означава, че ако не въведете аргумента, символът ще раздели низа на максималния възможен брой пъти.
Прочетете още: Как да разделите низ по дължина в Excel (8 начина)
3. Използване на чувствителен и нечувствителен разделител за разделяне на низ на масив във VBA
Сайтът Функция за разделяне ви предлага да използвате едновременно отчитане на малки и големи букви и без значение на размера на буквите разделител.
За без значение на размера на буквите разделител, вмъкнете 4. аргумент като 1.
И за без значение на размера на буквите разделител, вмъкнете 4. аргумент като 0 .
⧭ Пример 1: Делимитер, който не се различава по размер
Нека разгледаме текста в дадения низ "ЗА" като разделител и 2 като общия брой елементи на масива.
Сега за без значение на големи и малки букви редът от кода ще бъде:
Arr = Split(Text, "FOR ", 3,1)
И пълният Код VBA ще бъде:
⧭ Код VBA:
Sub Split_String() Text = "Кандидатствахме за виза за САЩ, Канада, Австралия и Франция." Arr = Split(Text, "FOR", 2, 1) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Изход:
Тъй като разделителят е без значение на размера на буквите тук "ЗА" ще работи като "за" и ще раздели символния низ на масив от два елемента.
⧭ Пример 2: Разграничител, чувствителен към големи и малки букви
Отново за отчитане на малки и големи букви редът от кода ще бъде:
Arr = Split(Текст, "ЗА ", 3,0)
И пълният Код VBA ще бъде:
⧭ Код VBA:
Sub Split_String() Text = "Кандидатствахме за виза за САЩ, Канада, Австралия и Франция." Arr = Split(Text, "FOR", 2, 0) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ Изход:
Тъй като разделителят е отчитане на малки и големи букви тук "ЗА" няма да бъде като "за" и няма да раздели символния низ на масив от два елемента.
Прочетете още: Excel VBA: Премахване на дубликати от масив (2 примера)
⧭ Нещата, които трябва да запомните:
- Стойността по подразбиране на аргумента е 0 .
- Тоест, ако не поставите стойността на 4. аргумент, той ще работи за отчитане на малки и големи букви мач.
Заключение
Следователно, използвайки тези методи, можете да използвате Функция за разделяне на VBA за разделяне на низ на масив от елементи. Имате ли въпроси? Не се колебайте да ни попитате.