Vba excel разбить строку по разделителям
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает одномерный массив (с индексацией от нуля), содержащий указанное число подстрок.
Параметры
Обязательный. Выражение типа String , содержащее подстроки и разделители.
Необязательный элемент. Одиночный знак, используемый для обозначения границ подстроки. Если аргумент Delimiter опущен, в качестве разделителя используется знак пробела (" ").
Необязательный элемент. Максимальное число подстрок, на которые должна быть разделена входная строка. Значение по умолчанию –1 указывает, что входная строка должна быть разбита в местах каждого из вхождений строки Delimiter .
Необязательный элемент. Числовое значение, которое указывает вид сравнения, выполняемого при оценке подстрок. Сведения о значениях см. в разделе "Параметры".
Возвращаемое значение
Массив String . Если Expression является строкой нулевой длины (""), функция Split возвращает одноэлементный массив, содержащий строку нулевой длины. Если Delimiter является строкой нулевой длины, или он нигде не найден в параметре Expression , функция Split возвращает одноэлементный массив, содержащий всю строку Expression .
Примеры
В следующем примере показано, как разделить строку в своих пробелах.
В следующем примере показано, как разделить строки с несколькими разделителями в строке и отфильтровать пустые строки.
Комментарии
По умолчанию или, когда Limit Equals-1, Split функция разделяет входную строку на каждое вхождение строки разделителя и возвращает подстроки в массиве. Если значение Limit параметра больше нуля, Split функция разделяет строку по первым Limit 1 вхождениям разделителя и возвращает массив с результирующими подстроками. Например, Split("a:b:c", ":") возвращает массив , а Split("a:b:c", ":", 2) возвращает массив .
Если Split функция встречает два разделителя в строке или разделитель в начале или в конце строки, он интерпретирует их как окружающую пустую строку (""). Например, Split("xx", "x") возвращает массив, содержащий три пустые строки: один из между началом строки и первый "x", один из между двумя строками "x", а второй — между последним "x" и концом строки.
В этой таблице показано, как необязательные Delimiter Limit Параметры, и Compare могут изменить поведение Split функции.
Возвращает одномерный массив с основанием 0, содержащий указанное число подстрок.
Синтаксис
Split(выражение, [ delimiter, [ ограничение , [ сравнить ]])
Синтаксис функции Split включает следующие именованные аргументы:
Part | Описание |
---|---|
выражение | Обязательная часть. Строковое выражение, содержащее подстроки и разделители. Если аргумент expression является строкой нулевой длины (""), функция Split возвращает пустой массив — без элементов и данных. |
delimiter | Необязательно. Строковый символ, используемый для разделения подстрок. Если этот аргумент не указан, в качестве разделителя используется знак пробела (" "). Если аргумент delimiter является строкой нулевой длины, возвращается массив с одним элементом, содержащим всю строку из аргумента expression. |
ограничение | Необязательно. Количество возвращаемого подстройки; -1 указывает, что возвращаются все подстройки. |
compare | Необязательно. Представляет собой числовое значение, указывающее вид сравнения, которое выполняется при оценке подстрок. Значения см. в разделе "Параметры". |
Параметры
Аргумент compare может принимать следующие значения:
Константа | Значение | Описание |
---|---|---|
vbUseCompareOption | –1 | Выполняет сравнение, используя параметр оператора Option Compare. |
vbBinaryCompare | 0 | Выполняется двоичное сравнение. |
vbTextCompare | 1 | Выполняется текстовое сравнение. |
vbDatabaseCompare | 2 | Только Microsoft Access. Выполняется сравнение на основе сведений из базы данных. |
Пример
В этом примере показано, как использовать функцию Split.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Как следует из названия, Split - это функция, которая разбивает строки на разные части. У нас есть много таких функций в таблицах Excel, таких как левый правый и средний. Но когда нам нужна любая строка для разграничения по частям, мы используем функцию Split в VBA. Это одна из лучших функций в VBA для выполнения различных типов операций со строками.
Функция split в основном является функцией подстроки, которая принимает строку в качестве входных данных и дает другую строку в качестве выходных данных. Единственное отличие между другой функцией подстроки, такой как left right, mid и split, заключается в том, что функция LEFT, RIGHT & MID просто принимает одну строку в качестве ввода или аргумента и возвращает одну строку в качестве вывода, в то время как функция SPLIT возвращает массив строк в виде выход.
Формула для функции разделения в Excel VBA
Функция разделения VBA имеет следующий синтаксис:
Позвольте мне сначала объяснить аргументы для функции разделения VBA:
- Выражение в виде строки: это обязательный аргумент в функции разделения VBA. Выражение в виде строки относится к строке, которую мы хотим разбить на части.
- Разделитель: это необязательный аргумент. Это символ, который используется для разбиения строк на части. Но если мы не предоставляем какой-либо разделитель, VBA рассматривает пробел «» как разделитель по умолчанию.
- Ограничение: это также необязательный аргумент. Предел означает максимальное количество частей, которые мы хотим сделать из строки. Но опять же, если мы не предоставляем ограничение для функции, VBA рассматривает его как значение по умолчанию -1, что означает, что строка будет разбиваться на части каждый раз, когда в строке есть разделитель.
- Сравните: этот последний аргумент также является необязательным аргументом. Сравнение - это метод, который описан как один из двух ниже:
- Либо это 0, что означает, что Split выполнит двоичное сравнение, что означает, что каждый символ должен соответствовать самому себе.
- Или это может быть 1, что означает, что функция Split сделает текстовое сравнение.
Все будет понятно на нескольких примерах. Но позвольте мне сначала привести очень простой пример того, что делает эта функция. Предположим, у нас есть входная строка как ANAND - ХОРОШИЙ МАЛЬЧИК. Разделенная строка разбивает его по частям каждое слово отдельно. Мы также можем использовать функцию Split для подсчета количества слов в строке или мы можем использовать ее для вывода только определенного количества слов в данной строке.
Как использовать функцию разделения VBA Excel?
Мы научимся использовать функцию VBA Split Excel на нескольких примерах.
Вы можете скачать этот шаблон VBA Split Excel здесь - Шаблон VBA Split Excel
Функция разделения VBA - Пример № 1
Как насчет того, чтобы мы использовали приведенную выше строку ANAND IS GOOD BOY с функцией split.
Примечание. Чтобы использовать функцию разделения в VBA, убедитесь, что параметр разработчика включен на вкладке «Файл» в разделе параметров.
Шаг 1. Перейдите на вкладку « Разработчик » и нажмите « Visual Basic» .
Шаг 2: Появится окно проекта, чтобы щелкнуть Лист 1, чтобы открыть окно кода.
Шаг 3: Когда появится окно кода, объявите подфункцию, чтобы начать писать код.
Код:
Шаг 4: Объявите два массива переменных и один как строки A и B.
Код:
Шаг 5: Сохраните значение строки в A.
Код:
Шаг 6: В массиве B сохраните значение A, используя функцию разделения, как показано ниже.
Код:
Шаг 7: Используйте For Loop, чтобы разбить каждую строку.
Код:
Шаг 8: Показать его с помощью функции Msgbox.
Код:
Шаг 9: Запустите код с кнопки запуска, представленной ниже.
Мы получаем это как вывод, как только мы запускаем приведенный выше код.
Функция разделения VBA - Пример № 2
Теперь мы попытаемся принять ввод от пользователя и разбить строку на части.
Шаг 1: Перейдите на вкладку разработчика и щелкните Visual Basic, чтобы открыть редактор VB.
Шаг 2: Нажмите на Лист 2 в окне свойств, чтобы открыть окно кода.
Шаг 3: В окне кода объявите подфункцию, чтобы начать писать код.
Код:
Шаг 4: Объявите две переменные, одну как String, а другую как Array String.
Код:
Шаг 5: Возьмите значение у пользователя и сохраните его в A, используя функцию Inputbox.
Код:
Шаг 6: Сохраните значение A в массиве B, используя функцию разделения.
Код:
Шаг 7: Используйте For Loop, чтобы разбить каждую строку.
Код:
Шаг 8: Показать его с помощью функции Msgbox.
Код:
Функция разделения VBA - Пример № 3
Мы также можем использовать функцию разделения VBA для подсчета количества слов в строке. Давайте возьмем ввод от пользователя и посчитаем количество слов в нем.
Шаг 1: Перейдите на вкладку разработчика и щелкните Visual Basic, чтобы открыть VB Editor.
Шаг 2: Нажмите на Лист 3 в окне проекта, чтобы открыть окно кода.
Шаг 3: Когда окно кода открыто, объявите подфункцию, чтобы начать писать код.
Код:
Шаг 4: Объявите две переменные, одну как строку, а другую как строку массива.
Код:
Шаг 5: Возьмите ввод от пользователя и сохраните в A, используя функцию поля ввода.
Код:
Шаг 6: Используйте функцию Split и сохраните ее в B.
Код:
Шаг 7: Используйте функцию Msgbox для отображения общего количества слов.
Код:
Шаг 8: Запустите код с помощью кнопки запуска. Как только мы запустим код, он запрашивает ввод для строки. Напишите в поле «ИНДИЯ - МОЯ СТРАНА» и нажмите «ОК», чтобы увидеть результат.
Объяснение функции разделения Excel VBA
Она очень похожа на другую функцию рабочего листа, но она лучше, так как может разбивать несколько слов и возвращать их в виде массива.
То, что нужно запомнить
Есть несколько вещей, которые мы должны помнить о функции разделения VBA:
- Функция разделения VBA является функцией подстроки.
- Возвращает вывод в виде строки.
- Только выражение является обязательным аргументом, в то время как остальные аргументы являются необязательными.
Рекомендуемые статьи
Это руководство по разделению функций VBA. Здесь мы обсудили, как использовать функцию разделения VBA Excel вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -
Regex.Split с сохранением разделителей
Здравствуйте, форумчане, регулярные выражения пока еще почти не изучал, но потребовалось разделить.
Реализация функции split с получением всех разделителей
Всех приветствую. В одной из тем я спрашивал, как написать функцию split в lua. Теперь мне нужно.
Сохранение разделителей метода split в строковом массиве
Я вожу строку вида 5+2 или 5 + 2(с пробелами). Мне нужно сохранять символы арифметических операции.
Пример строки, плизз.
Кста, в Excel есть метод "Текст по столбцам", в котором можно указать несколько разделителей.
Думаю что можно через:split(replace(replace(replace)))
либо все replace в цикл засунуть, а потом split выбираем, любуемся
" " защищённый дефис, ставится одновременным нажатием дефиса и клавиш CTRL+SHIFT Chr$(30) - Asc(Selection.Text)
"-" короткое тире Chr$(45) - Asc(Selection.Text)
"–" среднее тире Chr$(150) - Asc(Selection.Text)
"—" длинное тире Chr$(151) - Asc(Selection.Text)
неразрывемый пробел (°) Chr$(160) - Asc(Selection.Text) А он разный бывает - vbLf (т.е. chr(10)), vbCr (т.е. chr(13)) или vbCrLf (т.е. chr(13) & chr(10)).
Поэтому и прошу пример. Откуда строка берется? мн трудно разобрать как ты ето реализовал. хотелось бы результат загнать в массив. т.е. строку, разбитую
на пробелы и vbLf. а чтобы возвратить финальный массив нужно указать в конце типа DoubleSplit=FinalSplit ?
Разбиение строки на подстроки по split с сохранением разделителей
Такой вопрос - методы Split() разбивает строку на подстроки не включая разделители, а мне нужно.
Несколько разделителей QSplitter
День добрый. Нужно разместить несколько виджетов с разделителями QSplitter так, чтобы каждый.
Функция Split
Здравствуйте! Есть фрагмент кода: Set f = fso.OpenTextFile (fn, 1, true) line = Split.
Функция Split
Здравствуйте! Переведите, пжлст, на понятный русский этот кусочек кода. line =.
split функция
Кто нибудь может объяснить что делает функция split в данном примере? public Autos(String.
Функция split
Мне необходимо разделить строку на отдельные слова с помощью функции split, но ему что-то не.
Читайте также: