Vba: belirli bir metin içeren hücreler nasıl sayılır?
VBA’yı kullanarak belirli bir metni içeren bir aralıktaki hücrelerin sayısını saymak için aşağıdaki temel sözdizimini kullanabilirsiniz:
SubCountCellsWithText ()
Range(" D2 ") = WorksheetFunction.CountIf(Range(" A2:A13 "), " *avs* ")
End Sub
Bu özel örnek, A2:A13 aralığında “avs” içeren hücrelerin sayısını sayar ve ardından sonucu D2 hücresine atar.
Not : Yıldız işaretleri ( * ), Countif işlevinde joker karakter olarak kullanılır.
Bunun yerine bir mesaj kutusundaki hücre sayısını görüntülemek istiyorsanız aşağıdaki sözdizimini kullanabilirsiniz:
SubCountCellsWithText ()
Dim cellCount As Integer
'Calculate number of cells that contain 'avs'
cellCount = WorksheetFunction.CountIf(Range(" A2:A13 "), "* avs* ")
'Display the result
MsgBox "Cells that contain avs : " & cellCount
End Sub
Aşağıdaki örnekler, çeşitli basketbol oyuncuları hakkında bilgiler içeren Excel’deki aşağıdaki veri kümesiyle bu yöntemlerin her birinin pratikte nasıl kullanılacağını göstermektedir:
Örnek 1: VBA kullanarak belirli metin içeren hücreleri sayın ve sonuçları hücrede görüntüleyin
Takım adında “avs” içeren hücrelerin sayısını saymak ve sonuçları belirli bir hücrede görüntülemek istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
SubCountCellsWithText ()
Range(" D2 ") = WorksheetFunction.CountIf(Range(" A2:A13 "), " *avs* ")
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
D2 hücresinin 5 değerini içerdiğine dikkat edin.
Bu bize A2:A13 aralığında takım adında “avs” içeren 5 hücre olduğunu söyler.
Örnek 2: VBA kullanarak belirli metin içeren hücreleri sayın ve sonuçları mesaj kutusunda görüntüleyin
Bunun yerine “avs” içeren hücrelerin sayısını saymak ve sonuçları bir mesaj kutusunda görüntülemek istediğimizi varsayalım .
Bunun için aşağıdaki makroyu oluşturabiliriz:
SubCountCellsWithText ()
Dim cellCount As Integer
'Calculate number of cells that contain 'avs'
cellCount = WorksheetFunction.CountIf(Range(" A2:A13 "), " *avs* ")
'Display the result
MsgBox "Cells that contain avs : " & cellCount
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
Mesaj kutusu bize takım adında “avs” içeren 5 hücrenin olduğunu söylüyor.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA: “Hücre şunları içeriyorsa” için basit bir formül
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