Vba'da joker karakterler nasıl kullanılır (örneklerle)


Dizelerdeki belirli kalıpları aramak için VBA’daki Like operatörünü aşağıdaki yerleşik joker karakterlerle kullanabilirsiniz:

  • * : Herhangi bir sayıda karakterle eşleşir
  • ? : Tek bir karakterle eşleşir
  • # : tek rakama karşılık gelir
  • [] : aralık içindeki herhangi bir karakterle eşleşir

Aşağıdaki örnekler bu joker karakterlerin pratikte nasıl kullanılacağını göstermektedir.

Örnek 1: Bir alt dizeyi aramak için *Wildcard’ı kullanın

A sütununda aşağıdaki yiyecek listesinin bulunduğunu varsayalım:

A sütunundaki her dizede “sıcak” alt dizeyi aramak ve sonuçları B sütununda görüntülemek için aşağıdaki makroyu oluşturabiliriz:

 Sub FindString()

    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:

Örnek 2: Bir kalıpla biten dizeleri aramak için * joker karakterini kullanın

A sütununda aşağıdaki basketbol takımı isimleri listesinin bulunduğunu varsayalım:

A sütununda “ets” ile biten dizeleri aramak ve sonuçları B sütununda görüntülemek için aşağıdaki makroyu oluşturabiliriz:

 Sub FindEndingString()

    Dim i As Integer
    
    For i = 2 To 10
        If Range(" A " & i) Like " *ets " Then
            Range(" B " & i) = " Ends in ets "
        Else
            Range(" B " & i) = " Does Not End in ets "
        End If
    Next i
    
End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

Örnek 3: Numaraları aramak için # joker karakterini kullanın

A sütununda aşağıdaki dize listesine sahip olduğumuzu varsayalım:

A sütununda sayıları içeren dizeleri aramak ve sonuçları B sütununda görüntülemek için aşağıdaki makroyu oluşturabiliriz:

 SubFindNumbers ()

    Dim i As Integer
    
    For i = 2 To 10
        If Range(" A " & i) Like " *#* " Then
            Range(" B " & i) = " Contains Numbers "
        Else
            Range(" B " & i) = " Does Not Contain Numbers "
        End If
    Next i
    
End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

Örnek 4: Birden fazla karakteri aramak için [] joker karakterini kullanın

A sütununda aşağıdaki basketbol takımı isimleri listesinin bulunduğunu varsayalım:

Takım adının herhangi bir yerinde r, s veya t içeren dizeleri A sütununda aramak ve sonuçları B sütununda görüntülemek için aşağıdaki makroyu oluşturabiliriz:

 Sub FindSpecificLetters()

    Dim i As Integer
    
    For i = 2 To 10
        If Range(" A " & i) Like " *[rt]* " Then
            Range(" B " & i) = " Contains r, s, or t "
        Else
            Range(" B " & i) = " Does Not Contain r, s or t "
        End If
    Next i
    
End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

Not : VBA joker karakter belgelerinin tamamını burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde VBA kullanılarak diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

VBA: Bir dizedeki karakterlerin oluşumlarını sayma
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?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir