Vba: як розділити рядок на масив (з прикладом)
Ви можете використовувати наступний базовий синтаксис, щоб розділити рядок на масив за допомогою VBA:
SubSplitString ()
Dim SingleValue() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
SingleValue = Split(Range(" A " & i), " ")
For j = 1 To 2
Cells(i, j + 1).Value = SingleValue(j - 1)
Next j
Next i
End Sub
У цьому конкретному прикладі кожен рядок у діапазоні A2:A7 ділиться на основі пробілів у кожному рядку, а потім призначаються результуючі елементи кожного рядка діапазонам клітинок B2:B7 та C2:C7 .
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: використання VBA для розділення рядка на масив
Припустімо, що в Excel є такий список рядків:
Припустімо, ми хочемо розділити кожен рядок на основі пробілів, а потім призначити результуючі елементи кожного рядка до нових клітинок.
Для цього ми можемо створити такий макрос:
SubSplitString ()
Dim SplitValues() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
SplitValues = Split(Range(" A " & i), " ")
For j = 1 To 2
Cells(i, j + 1).Value = SplitValues(j - 1)
Next j
Next i
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Зауважте, що стовпці B і C містять ім’я та прізвище кожного повного імені в стовпці A.
Також зауважте, що ви можете використовувати функцію VBA Split , щоб розділити масив на основі іншого розділювача.
Наприклад, припустімо, що у нас є такий список адрес електронної пошти:
Припустімо, ми хочемо розділити кожне повідомлення електронної пошти на масив на основі символу @ .
Для цього ми можемо створити такий макрос:
SubSplitString ()
Dim SplitValues() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
SplitValues = Split(Range(" A " & i), " @ ")
For j = 1 To 2
Cells(i, j + 1).Value = SplitValues(j - 1)
Next j
Next i
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Функція «Розділити» розділяє кожну електронну пошту в стовпці A на основі символу @ та відображає отримані елементи в стовпцях B і C.
Примітка . Ви можете знайти повну документацію для функції VBA Split тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання за допомогою VBA:
VBA: як підрахувати випадки появи символів у рядку
VBA: як перевірити, чи містить рядок інший рядок
VBA: як підрахувати клітинки з певним текстом