Подстановочные знаки VBA

В этом руководстве будет показано, как использовать подстановочные знаки в VBA.

Подстановочные знаки используются во всех языках программирования и приложениях баз данных, таких как SQL Server. Подстановочный знак можно определить как символ, который используется для замены одного или нескольких символов в текстовой строке. Например, эта текстовая строка - «mo *» - найдет слова «мама», «мышь», «лось», «мама» и т. Д .; а эта текстовая строка «mo?» найдет только слово мама как подстановочный знак? заменяет только один символ.

Мы используем подстановочные знаки с оператором Like, который является более простой альтернативой VBA Regex.

Использование подстановочного знака Asterix (*) в VBA

Подстановочный знак Asterix заменяет один или несколько символов в строке VBA.

Давайте посмотрим на следующий диапазон ячеек в Excel:

Используя подстановочный знак Asterix в нашем коде VBA, мы можем найти все имена, начинающиеся с «M», и изменить цвет текста на красный.

12345678 Sub CheckForM ()Dim x As IntegerДля x = от 3 до 8Если Range ("B" & x) .Value Like "M *", тоДиапазон ("B" & x) .Font.Color = vbRedКонец, еслиДалее xКонец подписки

Поэтому мы перебрали диапазон и нашли все первые имена, начинающиеся с буквы M, так как наша строка с подстановочными знаками выглядит так:М *

Результат выполнения приведенного выше кода показан ниже.

Если бы мы использовали подстановочную строку «Ma *» - тогда изменились бы только первые имена в B3 и B4.

Использование подстановочного знака вопросительного знака (?) В VBA

Знак вопроса заменит один символ в строке VBA.

Рассмотрим следующие данные:

Мы можем использовать подстановочную строку «? Im», чтобы найти любые имена, оканчивающиеся на «im».

12345678 Sub CheckForIM ()Dim x As IntegerДля x = от 3 до 8Если Range ("B" & x) .Value Like "? Im" ТогдаДиапазон ("B" & x) .Font.Color = vbRedКонец, еслиДалее xКонец подписки

Результат выполнения этого кода показан ниже:

Использование [список символов] в качестве подстановочного знака

Приведенный выше пример можно немного изменить, чтобы мы могли использовать вопросительный знак в дополнение к списку разрешенных символов. Следовательно, строка подстановочного знака может быть изменена на «? [E-i] m», где первым символом может быть что угодно, вторым символом должен быть символ между e и i, а последней буквой должен быть символ «m». Допускаются только 3 символа.

12345678 Sub CharListTest ()Dim x As IntegerДля x = от 3 до 8Если Range ("B" & x) .Value Like "? [E-i] m", тоДиапазон ("B" & x) .Font.Color = vbRedКонец, еслиДалее xКонец подписки

Результатом этого кода будет:

Программирование на VBA | Генератор кода действительно работает для вас!

Использование подстановочного знака решетки (#) в VBA

Подстановочный знак решетки (#) заменяет одну цифру в строке VBA. Мы можем сопоставить от 0 до 9.

12345678910 Sub CheckForNumber ()Dim x как целое число, y как целое числоДля x = от 3 до 8Для y = от 2 до 5Если ActiveSheet.Cells (x, y) как "##", тоActiveSheet.Cells (x, y) .Font.Color = vbRedКонец, еслиСледующий yДалее xКонец подписки

Приведенный выше код будет проходить через все ячейки в диапазоне («B3: E8») и изменит цвет текста в ячейке на КРАСНЫЙ, если в этой ячейке будет найдено двузначное число.

В приведенном ниже примере код изменит число только в том случае, если последнее число - 9.

12345678910 Sub CheckFor9 ()Dim x как целое число, y как целое числоДля x = от 3 до 8Для y = от 2 до 5Если ActiveSheet.Cells (x, y) как "# 9", тоActiveSheet.Cells (x, y) .Font.Color = vbRedКонец, еслиСледующий yДалее xКонец подписки

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave