Як розділити рядок на масив у VBA (3 способи)

  • Поділитися Цим
Hugh West

У даній статті я покажу, як можна розбити рядок на масив в VBA . Спліт є однією з найбільш важливих і широко використовуваних функцій, які ми використовуємо в VBA Ви навчитеся розщеплювати струну в VBA всіма можливими способами.

Функція VBA Split (Швидкий перегляд)

=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])

Завантажити Практичний посібник

Розділити рядок на масив.xlsm

3 способи розділення рядка на масив у 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 розбиття рядка на масив елементів. Якщо у вас виникли питання, задавайте їх нам.

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.