Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

VBA Excel. Функции Left, Mid, Right (вырезать часть строки)

    Извлечение (вырезание) части строки с помощью кода VBA Excel из значения ячейки или переменной. Функции Left, Mid и Right, их синтаксис и аргументы. Пример.

    Функция Left

    Эта функция извлекает левую часть строки с заданным количеством символов.

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

    Left(строка, длина)

    • строка — обязательный аргумент: строковое выражение, из значения которого вырезается левая часть;
    • длина — обязательный аргумент: числовое выражение, указывающее количество извлекаемых символов.

    Если аргумент «длина» равен нулю, возвращается пустая строка. Если аргумент «длина» равен или больше длины строки, возвращается строка полностью.

    Функция Mid

    Эта функция извлекает часть строки с заданным количеством символов, начиная с указанного символа (по номеру).

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

    Mid(строка, начало, [длина])

    • строка — обязательный аргумент: строковое выражение, из значения которого вырезается часть строки;
    • начало — обязательный аргумент: числовое выражение, указывающее положение символа в строке, с которого начинается извлекаемая часть;
    • длина — необязательный аргумент: числовое выражение, указывающее количество вырезаемых символов.

    Если аргумент «начало» больше, чем количество символов в строке, функция Mid возвращает пустую строку. Если аргумент «длина» опущен или его значение превышает количество символов в строке, начиная с начального, возвращаются все символы от начальной позиции до конца строки.

    Функция Right

    Эта функция извлекает правую часть строки с заданным количеством символов.

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

    Right(строка, длина)

    • строка — обязательный аргумент: строковое выражение, из значения которого вырезается правая часть;
    • длина — обязательный аргумент: числовое выражение, указывающее количество извлекаемых символов.

    Если аргумент «длина» равен нулю, возвращается пустая строка. Если аргумент «длина» равен или больше длины строки, возвращается строка полностью.

    Пример

    В этом примере будем использовать все три представленные выше функции для извлечения из ФИО его составных частей. Для этого запишем в ячейку «A1» строку «Иванов Сидор Петрович», из которой вырежем отдельные компоненты и запишем их в ячейки «A2:A4».

    На практике часто встречаются строки с лишними пробелами, которые необходимо удалить перед извлечением отдельных слов.

    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

    5 комментариев для “VBA Excel. Функции Left, Mid, Right (вырезать часть строки)”

    1. Дмитрий

      Здравствуйте. Хотелось бы узнать как выделить остаток текста после последнего пробела в случае, если количество слов в строке «Иванов Сидор Петрович» не всегда равно трем. Заранее благодарен за консультацию. у меня таблица на 60 колонок с разными названиями разной длины. Все они заканчиваются номером месяца. Мне нужно найти колонку с заданным месяцем. Подскажите, пожалуйста. Заранее благодарен.

      1. Евгений

        Здравствуйте, Дмитрий!
        Для поиска последнего пробела используйте функцию InStrRev:

        Возможно, для поиска номера столбца вам понадобится применить метод Find.

    2. Здравствуйте! Подскажите, пожалуйста, как можно выделить в массиве слов первый элемент первого слова и последний элемент этого же слова? И так со всеми остальными словами массива? Есть такая идея, но выдается ошибка как раз-таки с функцией Mid.

      1. Евгений

        Привет, Дарья!
        Используйте следующие выражения:

    Обсуждение закрыто.