Vba: як розділити рядок на основі кількох роздільників


Ви можете використовувати такий базовий синтаксис, щоб розділити рядок на основі кількох роздільників у VBA:

 SubSplitString ()

    Dim SingleValue() As String
    Dim i As Integer
    Dim j As Integer

    For i = 2 To 7
    newString = Replace(Range(" A " & i), " - ", " ")
    SingleValue = Split(newString, " ")
    
       For j = 1 To 3
           Cells(i, j + 1).Value = SingleValue(j - 1)
       Next j
       
    Next i
    
End Sub

У цьому конкретному прикладі кожен рядок у діапазоні A2:A7 поділяється на основі дефісів або пробілів у кожному рядку, а потім призначає отримані елементи кожного рядка суміжним клітинкам у стовпцях B, C і D.

Примітка : цей макрос спочатку замінює кожен дефіс пробілом, а потім розділяє кожен рядок залежно від того, де знаходяться пробіли.

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: розділіть рядок на основі кількох роздільників у VBA

Припустімо, що в Excel є такий список імен:

Припустімо, ми хочемо розділити кожне ім’я на основі дефісів або пробілів, а потім призначити результуючі елементи кожного рядка до нових клітинок.

Для цього ми можемо створити такий макрос:

 SubSplitString ()

    Dim SingleValue() As String
    Dim i As Integer
    Dim j As Integer

    For i = 2 To 7
    newString = Replace(Range(" A " & i), " - ", " ")
    SingleValue = Split(newString, " ")
    
       For j = 1 To 3
           Cells(i, j + 1).Value = SingleValue(j - 1)
       Next j
       
    Next i
    
End Sub

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

Розділений рядок VBA на основі кількох роздільників

Зверніть увагу, що цей макрос розділяє кожен рядок у стовпці A на основі пробілів і дефісів і відображає окремі текстові елементи кожного рядка в стовпцях B, C і D.

Примітка №1: у цьому прикладі ми розділяємо рядки на основі дефісів і пробілів, але ви можете розділяти рядки на основі будь-яких роздільників, які хочете, вказавши їх у функціях Replace і Split .

Примітка №2 : ви можете знайти повну документацію для функції VBA Split тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання за допомогою VBA:

VBA: як підрахувати випадки появи символів у рядку
VBA: як перевірити, чи містить рядок інший рядок
VBA: як підрахувати клітинки з певним текстом

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

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