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

VBA Excel. Функция Join

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

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

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

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

Join (SourceArray,[Delimiter])

Обязательным параметром функции Join является SourceArray, если Delimiter явно не указан, используется его значение по-умолчанию.

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

Параметр Описание Значение
по умолчанию
SourceArray Одномерный массив, содержащий объединяемые подстроки Нет
Delimiter Разделитель, представляющий пустую строку*, один или более символов Пробел

*Если в качестве разделителя используется пустая строка, то все элементы списка объединяются без разделителей - слитно.

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

Функция Join возвращает строку, полученную путем объединения исходных подстрок, содержащихся в одномерном массиве, с добавлением между соединяемыми подстроками разделителей, состоящих из одного или более символов.


Пример 1

Sub Test1()
Dim a(2) As String, s As String
a(0) = "Иван"
a(1) = "да"
a(2) = "марья"
s = Join(a, "-")
MsgBox s
End Sub

Результат в MsgBox: Иван-да-марья

В первом примере используется Delimiter = «-» (дефис).


Пример 2

Sub Test2()
Dim a(2) As String, s As String
a(0) = "Кро"
a(1) = "ко"
a(2) = "дил"
s = Join(a, "")
MsgBox s
End Sub

Результат в MsgBox: Крокодил

Во втором примере используется Delimiter = «» (пустая строка).


Пример 3

Sub Test3()
Dim a(4) As Variant, s As String
a(0) = "Бегемот"
a(1) = 255
a(2) = "Жираф"
a(3) = 788
a(4) = "Зайчик"
s = Join(a)
MsgBox s
End Sub

Результат в MsgBox: Бегемот 255 Жираф 788 Зайчик

Третий пример показывает, что функция Join работает не только с массивами строкового типа (As String), но и универсального типа (As Variant). Числовые значения автоматически преобразуются в текстовые и объединяются в общую строку. В третьем примере используется Delimiter по-умолчанию.


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