Підстановні знаки VBA

Цей підручник продемонструє, як використовувати символи підстановки у VBA.

Підстановні знаки використовуються у всіх мовах програмування та застосунках бази даних, таких як SQL Server. Підстановку можна визначити як символ, який використовується для заміни одного або декількох символів у текстовому рядку. Наприклад, цей текстовий рядок - “mo*” - знайде слова мама, миша, лось, мама тощо; тоді як цей текстовий рядок "mo?" знайдете лише слово мама як підстановку? замінює лише один символ.

Ми використовуємо символи підстановки з оператором Like, що є простішою альтернативою VBA Regex.

Використання підстановки Asterix (*) у VBA

Підстановка Asterix замінює один або кілька символів у рядку VBA.

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

Використовуючи підстановку Asterix у нашому коді VBA, ми можемо знайти всі імена, які починаються на “M” і змінюють колір тексту на червоний.

12345678 SubForM ()Dim x як ціле числоДля х = 3 до 8Якщо Діапазон ("B" & x). Значення типу "M*" ТодіДіапазон ("B" & x). Font.Color = vbRedЗакінчити ЯкщоДалі xEnd Sub

Тому ми переглянули діапазон і знайшли всі перші імена, які починаються на літеру М, оскільки наш рядок із символом підстановки - "М*

Результат виконання вищевказаного коду показаний нижче.

Якби ми використовували підстановочний рядок “Ma*” - тоді змінювалися б лише імена у B3 та B4.

Використання підстановочного знака (?) У VBA

Знак питання замінить один символ у рядку VBA.

Розглянемо наступні дані:

Ми можемо використовувати підстановочний рядок “? Im”, щоб знайти будь -які імена, що закінчуються на “im”

12345678 Sub CheckForIM ()Dim x як ціле числоДля х = 3 до 8Якщо діапазон ("B" & x). Значення як "? Im" ТодіДіапазон ("B" & x). Font.Color = vbRedЗакінчити ЯкщоДалі xEnd Sub

Результат запуску цього коду показаний нижче:

Використання [списку символів] як підстановки

Наведений вище приклад можна трохи змінити, щоб ми могли використовувати знак питання, на додаток до списку символів дозволених символів. Тому рядок підстановки можна змінити на "? [E-i] m", де перший символ може бути будь-яким, другий символ повинен бути символом між e та i, а остання буква-"m". Допускається лише 3 символи.

12345678 Sub CharListTest ()Dim x як ціле числоДля х = 3 до 8Якщо Range ("B" & x). Значення "Like"? [E-i] m "ТодіДіапазон ("B" & x). Font.Color = vbRedЗакінчити ЯкщоДалі xEnd Sub

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

Програмування VBA | Генератор коду працює для вас!

Використання символу підстановки хеш (#) у VBA

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

12345678910 Sub CheckForNumber ()Dim x як ціле число, y як ціле числоДля х = 3 до 8Для y = 2-5Якщо ActiveSheet.Cells (x, y) Подобається "##" ТодіActiveSheet.Cells (x, y) .Font.Color = vbRedЗакінчити ЯкщоДалі yДалі xEnd Sub

Наведений вище код прокрутить усі комірки діапазону (“B3: E8”) і змінить колір тексту в комірці на ЧЕРВОНИЙ, якщо в цій клітинці знайдеться двоцифрове число.

У наведеному нижче прикладі код змінить номер, лише якщо останнім є число 9.

12345678910 Sub CheckFor9 ()Dim x як ціле число, y як ціле числоДля х = 3 до 8Для y = 2-5Якщо ActiveSheet.Cells (x, y), як "#9" ТодіActiveSheet.Cells (x, y) .Font.Color = vbRedЗакінчити ЯкщоДалі yДалі xEnd Sub

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

wave wave wave wave wave