VBA заместващи знаци

Този урок ще покаже как да използвате заместващи знаци във VBA.

Заместващите символи се използват във всички езици за програмиране и приложения за бази данни, като SQL Server. Заместващ знак може да бъде дефиниран като символ, който се използва за замяна на един или повече знаци в текстов низ. Например този текстов низ - „mo*“ - ще намери думите мама, мишка, лос, мама и т.н .; докато този текстов низ „mo?“ ще намери ли само думата мама като заместител? заменя само един знак.

Използваме заместващи символи с оператора Like, което е по -лесна алтернатива на VBA Regex.

Използване на заместващ знак Asterix (*) във VBA

Заместващият знак Asterix заменя един или повече знаци във низ VBA.

Нека разгледаме следния диапазон от клетки в Excel:

Използвайки заместващ знак Asterix във нашия VBA код, можем да намерим всички имена, които започват с „M“ и променят цвета на текста на червен.

12345678 Sub CheckForM ()Dim x като цяло числоЗа x = 3 до 8Ако Range ("B" & x). Стойност като "M*" ТогаваДиапазон ("B" & x). Font.Color = vbRedКрай АкоСледващ xEnd Sub

Следователно претърсихме диапазона и намерихме всички първи имена, които започват с буквата М, тъй като нашият заместващ низ е „М*

Резултатът от изпълнението на горния код е показан по -долу.

Ако трябваше да използваме заместващия низ „Ma*“ - тогава само първите имена в B3 и B4 ще се променят.

Използване на въпросителен знак (?) Заместващ знак във VBA

Въпросителният знак ще замени единичен знак във низ VBA.

Помислете за следните данни:

Можем да използваме заместващия низ „? Im“, за да намерим всички имена, завършващи на „im“

12345678 Sub CheckForIM ()Dim x като цяло числоЗа x = 3 до 8Ако Range ("B" & x). Стойност като "? Im" ТогаваДиапазон ("B" & x). Font.Color = vbRedКрай АкоСледващ xEnd Sub

Резултатът от изпълнението на този код е показан по -долу:

Използване на [char list] като заместващ знак

Горният пример може да бъде леко модифициран, за да ни позволи да използваме въпросителен знак, в допълнение към списък със знаци на разрешените знаци. Следователно низът с заместващи знаци може да бъде променен на „? [E-i] m“, където първият знак може да бъде всичко, вторият знак трябва да бъде знак между e и i, а последната буква трябва да е знакът „m“. Допускат се само 3 знака.

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

Резултатът от този код би бил:

VBA програмиране | Code Generator работи за вас!

Използване на хеш (#) заместващ знак във 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Следващ xEnd Sub

Горният код ще премине през всички клетки в диапазона („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Следващ xEnd Sub

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave