Использование функции Join в VBA Excel, ее синтаксис и параметры. Значения, возвращаемые функцией Join. Примеры использования.
Функция Join предназначена в VBA Excel для объединения подстрок, содержащихся в линейном массиве, в одну строку с добавлением разделителей. Разделителем может быть как отдельный символ или строка из нескольких символов, так и пустая строка. Функция Join по своему действию является обратной функции Split, которая создает массив подстрок из одной строки.
Синтаксис функции Join
Join (SourceArray,[Delimiter])
Обязательным параметром функции Join является SourceArray, если Delimiter явно не указан, используется его значение по-умолчанию.
Параметры функции Join
Параметр | Описание | Значение по умолчанию |
SourceArray | Одномерный массив, содержащий объединяемые подстроки | Нет |
Delimiter | Разделитель, представляющий пустую строку*, один или более символов | Пробел |
*Если в качестве разделителя используется пустая строка, то все элементы списка объединяются без разделителей — слитно.
Возвращаемые значения
Функция Join возвращает строку, полученную путем объединения исходных подстрок, содержащихся в одномерном массиве, с добавлением между соединяемыми подстроками разделителей, состоящих из одного или более символов.
Пример 1
1 2 3 4 5 6 7 8 |
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
1 2 3 4 5 6 7 8 |
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
1 2 3 4 5 6 7 8 9 10 |
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.