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

VBA Excel. Знаки подстановки для шаблонов

    Знаки подстановки для шаблонов в VBA Excel. Знаки подстановки для методов Find и Replace. Знаки подстановки для оператора Like.

    Как ни странно, но для метода Find и оператора Like в VBA Excel правила использования знаков подстановки для шаблонов поиска (Find) и сравнения строк (Like) различаются, причем оператор Like имеет некоторые преимущества. Например, знак # при сравнении строк с помощью оператора Like обозначает любую цифру, а при поиске методом Find — только самого себя.

    Знаки подстановки для методов Find и Replace

    Знаки в шаблоне Совпадения в строке (диапазоне ячеек)
    ? Знак вопроса обозначает любой отдельный символ
    * Звездочка обозначает любое количество любых символов, в том числе ноль символов
    ~ Тильда ставится перед ?, * и ~, чтобы они обозначали сами себя (например, чтобы тильда в шаблоне обозначала сама себя, записать ее нужно дважды: ~~)

    Знаки подстановки для оператора Like

    Знаки в шаблоне Совпадения в сравниваемой строке
    ? Знак вопроса обозначает любой отдельный символ, в том числе любую цифру
    * Звездочка обозначает любое количество любых символов, в том числе ноль символов
    # Решетка обозначает любую цифру (0-9)
    [СписокСимволов] Любой отдельный знак, входящий в СписокСимволов
    [!СписокСимволов] Любой отдельный знак, не входящий в СписокСимволов

    Знаки ?, *, # и [ (открывающая скобка) обозначают сами себя внутри квадратных скобок, а ] (закрывающая скобка) — вне квадратных скобок. Более подробно о знаках подстановки для оператора Like можно прочитать здесь.

    Пример использования шаблона

    Поиск в диапазоне ячеек, содержимое которых начинается с цифр (с помощью оператора Like):

    В этом примере шаблон «#*» состоит из решетки «#», которая обозначает одну первую цифру, и звездочки «*», которая обозначает любое количество любых символов, в том числе ноль символов. Если содержимое ячейки соответствует шаблону (начинается с цифры), ячейка окрашивается в зеленый цвет.

    Более широкие возможности для работы с шаблонами заложены в регулярных выражениях, представленных объектом RegExp.

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

    4 комментария для “VBA Excel. Знаки подстановки для шаблонов”

    1. Александр

      Полезная статья! Только примеров на мой взгляд не хватает. Не могу придумать как найти в ячейках все записи начинающиеся с цифр…

      1. Евгений

        Привет, Александр!
        Пример поиска в ячейках записей, начинающихся с цифр, добавил.

    2. Очень познавательный сайт. А можете подсказать, как сделать вот такую штуку? Не получается никак, или я не владею VBA))
      Есть большое количество строк. Нужно ту строку, где есть запятая, заключить в кавычки. Полностью каждую строку заключить в кавычки очень просто, а вот ту, где есть запятая… Ну никак не выходит. А строк очень много, чтобы это вручную делать…

      1. Евгений

        Привет, Виктор!
        Пример для строк, расположенных в ячейках выделенного диапазона:

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