VBA Joker Karakterleri

Bu eğitim, VBA'da joker karakterlerin nasıl kullanılacağını gösterecektir.

Joker karakterler, SQL Server gibi tüm programlama dillerinde ve veritabanı uygulamalarında kullanılmaktadır. Joker karakter, bir metin dizesindeki bir veya daha fazla karakteri değiştirmek için kullanılan bir sembol olarak tanımlanabilir. Örneğin bu metin dizisi - “mo*” - mom, mouse, moose, mommy vb. kelimelerini bulacaktır; bu metin dizesi “mo?” iken joker karakter olarak sadece anne kelimesini mi bulacak? yalnızca bir karakterin yerini alır.

VBA Regex'e daha kolay bir alternatif olan Like Operator ile joker karakterler kullanıyoruz.

VBA'da Asterix (*) Joker Karakterini Kullanma

Asterix joker karakteri, bir VBA dizesindeki bir veya daha fazla karakterin yerini alır.

Excel'de aşağıdaki hücre aralığına bakalım:

VBA kodumuzda bir Asterix joker karakteri kullanarak, “M” ile başlayan tüm Adları bulabilir ve metnin rengini kırmızıya çevirebiliriz.

12345678 Alt CheckForM()Dim x Tamsayı Olarakx = 3 ila 8 içinEğer Aralık("B" & x).Değer "M*" Gibi O zamanRange("B" & x).Font.Color = vbRedBitirSonraki xAlt Bitiş

Bu nedenle, aralıkta dolaştık ve joker karakter dizimiz “ olduğu için M harfiyle başlayan tüm ilk isimleri bulduk.M*

Yukarıdaki kodu çalıştırmanın sonucu aşağıda gösterilmiştir.

“Ma*” joker karakter dizisini kullanacak olsaydık - o zaman sadece B3 ve B4'teki ilk isimler değişecekti.

VBA'da Soru İşareti (?) Joker Karakterini Kullanma

Soru işareti, VBA dizesindeki tek bir karakterin yerini alacaktır.

Aşağıdaki verileri göz önünde bulundurun:

“im” ile biten herhangi bir ilk adı bulmak için “?im” joker karakter dizisini kullanabiliriz.

12345678 Alt CheckForIM()Dim x Tamsayı Olarakx = 3 ila 8 içinIf Range("B" & x).Value Like "?im" O zamanRange("B" & x).Font.Color = vbRedBitirSonraki xAlt Bitiş

Bu kodu çalıştırmanın sonucu aşağıda gösterilmiştir:

Joker karakter olarak [char list] kullanma

Yukarıdaki örnek, izin verilen karakterlerin bir karakter listesine ek olarak soru işaretini kullanmamıza izin vermek için biraz değiştirilebilir. Bu nedenle joker karakter dizisi “?[e-i]m” olarak değiştirilebilir, burada ilk karakter herhangi bir şey olabilir, ikinci karakter e ile i arasında bir karakter olmalı ve son harf “m” karakteri olmalıdır. Sadece 3 karaktere izin verilir.

12345678 Alt KarakterListTest()Dim x Tamsayı Olarakx = 3 ila 8 içinIf Range("B" & x).Value Like "?[e-i]m" O zamanRange("B" & x).Font.Color = vbRedBitirSonraki xAlt Bitiş

Bu kodun sonucu şöyle olacaktır:

VBA Programlama | Code Generator sizin için çalışıyor!

VBA'da karma (#) Wildcard'ı kullanma

Karma (#) joker karakteri, VBA dizesindeki tek bir basamağın yerini alır. 0 ile 9 arasında eşleştirebiliriz.

12345678910 Alt CheckForNumber()Dim x Tamsayı, y Tamsayıx = 3 ila 8 içiny = 2 ila 5 içinActiveSheet.Cells(x, y) "##" GibiyseActiveSheet.Cells(x, y).Font.Color = vbRedBitirsonraki yılSonraki xAlt Bitiş

Yukarıdaki kod, Aralıktaki ("B3:E8") tüm hücreler arasında dolaşacak ve o hücrede çift basamaklı bir sayı bulunursa, hücredeki metnin rengini KIRMIZI olarak değiştirecektir.

Aşağıdaki örnekte, kod yalnızca son sayı 9 ise sayıyı değiştirecektir.

12345678910 Alt CheckFor9()Dim x Tamsayı, y Tamsayıx = 3 ila 8 içiny = 2 ila 5 içinActiveSheet.Cells(x, y) "#9" Gibiyse O zamanActiveSheet.Cells(x, y).Font.Color = vbRedBitirsonraki yılSonraki xAlt Bitiş

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave