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

Коли ми запускаємо цей макрос, ми отримуємо такий результат:

VBA розбиває рядок на масив

Зауважте, що стовпці 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: як підрахувати клітинки з певним текстом

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *