Vba: bir dizedeki karakterlerin oluşumlarını sayma
VBA kullanarak bir karakterin bir dizede tekrarlanma sayısını saymak için aşağıdaki temel sözdizimini kullanabilirsiniz:
 Sub CountOccurrences()
    Dim i As Integer
    
    'Specify character to look for
    my_char = "/"
    
    'Count occurrences in each string in B2:B12 and display results in C2:C12
    For i = 2 To 12
        Count = (Len(Range(" B " & i)) - Len(Replace(Range(" B " & i), my_char, ""))) / Len(my_char)
        Range(" C " & i) = Count
    Next i
End Sub
Bu özel örnek , B2:B12 aralığındaki her hücrede eğik çizginin ( / ) oluşum sayısını sayar ve sonuçları C2:C12 aralığında görüntüler.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: VBA Kullanarak Bir Dizedeki Karakterlerin Oluşumlarını Sayma
Diyelim ki Excel’de farklı basketbolcuların isimlerini ve bir oyunda oynayabilecekleri pozisyonları gösteren aşağıdaki veri setine sahibiz:

Konum sütunundaki her dizedeki eğik çizgilerin ( / ) sayısını saymak istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
 Sub CountOccurrences()
    Dim i As Integer
    
    'Specify character to look for
    my_char = "/"
    
    'Count occurrences in each string in B2:B12 and display results in C2:C12
    For i = 2 To 12
        Count = (Len(Range(" B " & i)) - Len(Replace(Range(" B " & i), my_char, ""))) / Len(my_char)
        Range(" C " & i) = Count
    Next i
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

C sütunundaki değerler, B sütunundaki eşleşen dizelerdeki eğik çizgilerin oluşum sayısını görüntüler.
Örneğin:
- Guard/Forward dizesi 1 eğik çizgi içerir.
 - Koruma dizesi 0 eğik çizgi içerir.
 - Koruma dizesi 0 eğik çizgi içerir.
 - İleri/Orta dizesi 1 eğik çizgi içerir.
 
Ve benzeri.
Farklı bir karakterin oluşumlarını saymak için makrodaki my_char değişkeninin karakterini değiştirmeniz yeterlidir.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
 VBA: bir dizenin başka bir dize içerip içermediği nasıl kontrol edilir
 VBA: Aralıktaki satır sayısı nasıl sayılır?
 VBA: COUNTIF ve COUNTIFS işlevleri nasıl yazılır?