Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Преобразование массива в строку
Преобразовать массив в строку позволяет функция Join()
. Элементы массива должны быть строками или значениями типа Variant
, которые автоматически преобразуются в строку. Попытка передать в функцию, например, массив со значениями типа Integer
приведет к ошибке. Формат функции:
<Строка> = Join(<Массив>[, <Разделитель>])
Если параметр <Разделитель>
не указан, то в качестве разделителя используется пробел. Пример:
Dim Массив As Variant
Массив = Array("1", "2", "3", "4", "5")
Debug.Print Join(Массив) ' 1 2 3 4 5
Debug.Print Join(Массив, "") ' 12345
Debug.Print Join(Массив, ", ") ' 1, 2, 3, 4, 5
Debug.Print Join(Массив, " - ") ' 1 - 2 - 3 - 4 - 5
Преобразование строки в массив
Функция Split(<Строка>[, <Разделитель>[, <Лимит>[, <Сравнение>]]])
разделяет строку на подстроки по указанному разделителю и добавляет их в массив. Если в параметре <Строка>
указана пустая строка, то функция возвращает пустой массив. Если параметр <Разделитель>
не указан, то в качестве разделителя используется символ пробела. Если в параметре <Лимит>
задано число, то в массиве будет указанное количество подстрок. Если подстрок больше указанного количества, то последний элемент массива будет содержать остаток строки. По умолчанию параметр <Лимит>
имеет значение -1
, которое означает, что лимит не установлен. Пример:
Dim s As String, arr As Variant
s = "word1 word2 word3 word4"
arr = Split(s, " ")
Debug.Print Join(arr, "+") ' word1+word2+word3+word4
arr = Split(s, " ", 3)
Debug.Print Join(arr, "+") ' word1+word2+word3 word4
s = "word1-word2-word3-word4"
arr = Split(s, "-")
Debug.Print Join(arr, "+") ' word1+word2+word3+word4
Если разделитель не найден в строке, то массив будет состоять из одного элемента, представляющего исходную строку:
Dim s As String, arr As Variant
s = "word1 word2 word3 word4"
arr = Split(s, "8")
Debug.Print Join(arr, "+") ' word1 word2 word3 word4
Параметр <Сравнение>
задает способ сравнения. Можно указать следующие константы или соответствующие им значения:
vbBinaryCompare
—0
— двоичное сравнение. Сравнение зависит от регистра символов;vbTextCompare
—1
— текстовое сравнение. Регистр символов при сравнении не учитывается.
Если параметр <Сравнение>
не указан, то по умолчанию сравнение зависит от значения инструкции Option Compare
, которая должна быть расположена в самом начале модуля. Если инструкция имеет значение Binary
(или инструкция не указана), то используется двоичное сравнение, а если Text
— то текстовое сравнение. Пример:
Dim s As String, arr As Variant
s = "1w2W3w4"
arr = Split(s, "W", -1, vbBinaryCompare) ' Регистр учитывается
Debug.Print Join(arr, " ") ' 1w2 3w4
arr = Split(s, "W", -1, vbTextCompare) ' Регистр не учитывается
Debug.Print Join(arr, " ") ' 1 2 3 4
Помощь сайту
Yandex-деньги: 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов