Перейти к содержимому

VBA Excel. Функция Split

Использование функции Split в VBA Excel и ее параметры. Значения, возвращаемые функцией Split. Примеры использования.

Функция Split предназначена в VBA Excel для разделения строки на подстроки по специальным меткам - разделителям. Разделителем может быть как отдельный символ, так и строка из нескольких символов.

  1. Синтаксис функции
  2. Параметры функции
  3. Возвращаемые значения

Синтаксис функции

Split (Expression,[Delimiter],[Limit],[Compare])

Обязательным параметром функции Split является Expression - если остальные параметры явно не указаны, используются их значения по-умолчанию.

Параметры функции

Параметр Описание Значение
по умолчанию
Expression Строка, содержащая подстроки и разделители Нет
Delimiter Разделитель, представляющий один или более символов Пробел
Limit Максимальное число подстрок, на которые должна быть разделена входная строка -1
Compare* Определяет, какое используется сравнение, двоичное - CompareMethod.Binary (0) или текстовое - CompareMethod.Text (1) 0

*Если используется двоичное сравнение (0 или CompareMethod.Binary), функция чувствительна к регистру букв. Если используется текстовое сравнение (1 или CompareMethod.Text), функция не чувствительна к регистру букв.

Возвращаемые значения

Функция Split возвращает одномерный массив с индексацией от нуля, который содержит указанное параметром Limit число подстрок. Чаще всего, функция Split используется со значением параметра Limit по-умолчанию, равному -1, когда возвращаются все найденные в исходной строке подстроки.


Пример 1

Sub Test1()
Dim a() As String
a = Split("vremya ne zhdet")
MsgBox a(0) & vbNewLine & a(1) & vbNewLine & a(2)
End Sub
Результат в MsgBox:
 vremya
 ne
 zhdet

В первом примере используются Delimiter и Limit по-умолчанию.


Пример 2

Sub Test2()
Dim a() As String
a = Split("vremya-ne-zhdet","-", 2)
MsgBox a(0) & vbNewLine & a(1)
End Sub
Результат в MsgBox:
 vremya
 ne-zhdet

Во втором примере Delimiter = "-", а Limit = 2.


Для присваивания результатов функции Split используется предварительно объявленный текстовый динамический массив, который можно использовать в строке присваивания с пустыми скобками или без них. В представленных выше примерах массив указан без скобок.

Вы можете скопировать коды из приведенных примеров в модуль VBA своей рабочей книги Excel, посмотреть, как они работают. Поэкспериментируйте, подставляя свои данные, чтобы на практике ознакомиться с возможностями функции Split.