Зміст
У даній статті я покажу, як можна розбити рядок на масив в VBA . Спліт є однією з найбільш важливих і широко використовуваних функцій, які ми використовуємо в VBA Ви навчитеся розщеплювати струну в VBA всіма можливими способами.
Функція VBA Split (Швидкий перегляд)
=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])
Завантажити Практичний посібник
Розділити рядок на масив.xlsm3 способи розділення рядка на масив у VBA
Нехай у нас буде ниточка в руці "Ми подали документи на отримання віз США, Канади, Австралії та Франції". .
Я покажу, як можна розбити цей рядок на масив усіма можливими способами з допомогою методу Функція розділення з VBA .
1. Використання будь-якого роздільника для розділення рядка на масив у VBA
В якості роздільника для розділення рядка на масив можна використовувати будь-який рядок в VBA .
Це може бути пробіл (" ") , a кома (",") , a крапка з комою (":") один символ, рядок символів або що завгодно.
⧭ Приклад 1:
Розділимо рядок з допомогою методу кома в якості розмежувача.
Рядок коду буде:
Arr = Split(Text, ",")
Повна версія Код 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(Text, " ")
Повна версія Код 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(Text, " ", 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(Text, "FOR ", 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 розбиття рядка на масив елементів. Якщо у вас виникли питання, задавайте їх нам.