VBA Gibi Operatör
Like, VBA'daki bir operatördür ve bu, belirli bir dizeyi bir dizi dizide bağımsız değişken olarak karşılaştıran ve modelle eşleşen bir karşılaştırma operatörüdür, eğer model eşleşirse elde edilen sonuç doğrudur ve model eşleşmezse o zaman elde edilen sonuç yanlış, bu VBA'da yerleşik bir işleçtir.
"LIKE" operatörü, harika kullanımına rağmen en az kullanılan operatördür. Bu operatörü kodlamasında tam olarak kullanan pek fazla kişi görmedim. Aslında bu operatörü pek sık kullanmayanlardan biriyim. "VBA LIKE" operatörü, dizenin kalıbını tam dizeyle eşleştirmemize olanak tanır. VBA LIKE operatörünü kullanarak, iki dizgiyi verilen şablonla karşılaştırabiliriz. Dizenin VBA'da bir alt dize içerip içermediğini kontrol edebiliriz veya dizenin herhangi bir belirli biçim içerip içermediğini de kontrol edebiliriz. Desen dizeyle eşleşirse, VBA LIKE operatörü TRUE veya FALSE döndürür.
Dizeleri eşleştirirken, belirlediğimiz pıtırtıya joker karakterler kullanmamız gerekir. VBA LIKE işlecinde kullandığımız joker karakterler aşağıdadır.
- Soru İşareti (?): Bu, dizedeki herhangi bir karakteri eşleştirmek için kullanılır. Örneğin, bir "CAT" dizemiz varsa ve desen "C? T" ise, VBA LIKE operatörü TRUE değerini döndürür. Dize "CATCH" ise ve desenler "C? T" ise, VBA LIKE operatörü FALSE döndürür.
- Yıldız işareti (*): Bu, sıfır veya daha fazla karakterle eşleşir. Örneğin, dize "İyi" ise ve desen "G ** d" ise, VBA LIKE operatörü TRUE değerini döndürür.
- Parantez (()): Bu, parantez içinde belirtilen herhangi bir tek karakterle eşleşir.
- (Char-Char): Bu, Char-Char aralığındaki herhangi bir karakterle eşleşir.
- (! Karakterler): Bu, listede olmayan herhangi bir karakterle eşleşir.
- (! Char-Char): Bu, Char-Char aralığında olmayan herhangi bir karakterle eşleşir.

VBA LIKE Operator Örnekleri
Şimdi VBA LIKE operatörünün bazı örneklerine bakalım.
Örnek 1 - Soru İşareti ile
Kod:
Alt SoruMark_Örnek1 () Dim k As String k = "İyi" Eğer k "Git? D" İsterse Sonra Mesaj Kutusu "Evet" Başka Mesaj Kutusu "Hayır" End If End Sub
Yukarıdaki kodda, dizeyi "İyi" olarak sağladık ve model "Git". Soru işareti tek bir karakterle eşleşebileceğinden, sonucu "Evet" olarak gösterecektir.

Şimdi dizeyi "Günaydın" olarak değiştireceğim.
Kod:
Alt SoruMark_Örnek1 () Dim k As String k = "Günaydın" Eğer k "Git? D" Sonra Mesaj Kutusu "Evet" Başka Mesaj Kutusu "Hayır" End If End Sub
Bu durumda "Hayır" gösterecektir çünkü dizeye bir kelime daha ekledik, yani Sabah. Herhangi bir sayıda karakteri eşleştirmek için yıldız işaretini kullanmamız gerekir.

Örnek 2 - Yıldız işaretiyle
Kod:
Alt SoruMark_Örnek2 () Dim k As String k = "Günaydın" Eğer k Beğendiyseniz "* İyi *" Sonra Mesaj Kutusu "Evet" Başka Mesaj Kutusu "Hayır" End If End Sub
Yukarıdaki örnekte, "* İyi *" karakterinin önüne ve arkasına iki yıldız ekledim. Bu, "Günaydın" dizesindeki "İyi" kelimesiyle eşleşir ve "Evet" sonucunu döndürür.

Örnek 3 - Parantez () ile
Kod:
Alt SoruMark_Örnek3 () Dim k As String k = "Günaydın" Eğer k Beğeniyorsanız "* (M) *" Sonra Mesaj Kutusu "Evet" Başka Mesaj Kutusu "Hayır" End If End Sub
Yukarıdaki kod, “M” parantezinde belirtilen tek harfle eşleşir ve sonucu Evet olarak döndürür.

Örnek 4 - Parantez ve Alfabelerle (AZ)
Kod:
Alt SoruMark_Örnek4 () Dim k As String k = "Günaydın" Eğer k Beğeniyorsanız "* (AD) *" Sonra Mesaj Kutusu "Evet" Başka Mesaj Kutusu "Hayır" End If End Sub
Yukarıda, A'dan D'ye eşleşecek karakterlerden bahsetmiştim.
Bu, "Günaydın" dizesinde A'dan D'ye karakter olmadığı için "Hayır" döndürür .

Şimdi kalıbı (AH) olarak değiştireceğim
Kod:
Alt SoruMark_Örnek4 () Dim k As String k = "Günaydın" Eğer k Beğeniyorsanız "* (AH) *" Sonra Mesaj Kutusu "Evet" Başka Mesaj Kutusu "Hayır" End If End Sub
Bu, "Evet" döndürecektir çünkü A'dan H'ye, "Günaydın" dizesinde "G" karakterimiz var.

Bunun gibi, kalıptaki herhangi bir dizeyi joker karakterlerle eşleştirmek için VBA "LIKE" operatörünü kullanabiliriz.