Vba'da like operatörü nasıl kullanılır (örneklerle)
Bir dizenin belirli bir kalıp içerip içermediğini belirlemek için VBA’da Like operatörünü kullanabilirsiniz.
Örneğin, A2:A10 hücre aralığındaki her dizenin “hot” alt dizesini içerip içermediğini kontrol etmek ve sonuçları B2:B10 aralığında görüntülemek için aşağıdaki sözdizimini kullanabilirsiniz:
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "*hot*" Then
Range("B" & i) = "Contains hot"
Else
Range("B" & i) = "Does not contain hot"
End If
Next i
End Sub
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: VBA’da Like operatörü nasıl kullanılır?
Excel’de aşağıdaki yiyecek listesine sahip olduğumuzu varsayalım:
A sütunundaki her dizenin “hot” alt dizesini içerip içermediğini kontrol etmek ve sonuçları B sütununda görüntülemek için aşağıdaki makroyu oluşturabiliriz:
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "*hot*" Then
Range("B" & i) = "Contains hot"
Else
Range("B" & i) = "Does not contain hot"
End If
Next i
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
B sütunu, A sütunundaki eşleşen her hücrenin “sıcak” alt dizeyi içerip içermediğini gösterir.
Herhangi bir karakterin hücredeki “sıcak” dizeden önce veya sonra gelebileceğini belirtmek için alt dizenin etrafında yıldız işareti ( * ) kullandığımızı unutmayın.
Bunun yerine her dizenin “hot” ile başlayıp başlamadığını kontrol etmek istersek, yalnızca alt dizeden sonra yıldız işareti koyabiliriz:
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "hot*" Then
Range("B" & i) = "Starts with hot"
Else
Range("B" & i) = "Does not start with hot"
End If
Next i
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
B sütunu , A sütunundaki eşleşen her hücrenin “sıcak” ile başlayıp başlamadığını gösterir.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA kullanarak diğer genel görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA: Bir dizedeki karakterlerin oluşumları nasıl sayılır?
VBA: bir dizenin başka bir dize içerip içermediği nasıl kontrol edilir
VBA: Belirli bir metin içeren hücreler nasıl sayılır?