Vba: bir sütunda değer nasıl bulunur (örnekle)
Excel’deki bir sütundaki değeri bulmak için VBA’da aşağıdaki temel sözdizimini kullanabilirsiniz:
Sub FindValue()
Dim rng As Range
Dim cell As Range
Dim findString As String
'specify range to look in
Set rng = ActiveSheet.Columns(" A:A ")
'specify string to look for
findString = " Rockets "
'find cell with string
Set cell = rng.Find(What:=findString, LookIn:=xlFormulas, _
LookAt:=xlWhole, MatchCase:=False)
If cell Is Nothing Then
cell.Font.Color = vbBlack
Else
cell.Font.Color = vbRed
cell.Font.Bold = True
End If
End Sub
Bu özel makro, şu anda etkin olan sayfanın A sütununun tamamında “Roketler” dizesini arayacak ve bulunursa, hücrenin yazı tipi rengini kırmızıya değiştirecek ve yazı tipini kalın yapacaktır.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: VBA Kullanarak Bir Sütunda Değer Nasıl Bulunur?
Çeşitli basketbol oyuncuları hakkında bilgi içeren aşağıdaki veri setine sahip olduğumuzu varsayalım:
Diyelim ki A sütununda “Rockets” takım adını bulmak istiyoruz ve bulduğumuzda hücrenin yazı tipi rengini kırmızıya dönüştürüp yazı tipini kalın yapmak istiyoruz.
Bunun için aşağıdaki makroyu oluşturabiliriz:
Sub FindValues()
Dim rng As Range
Dim cell As Range
Dim findString As String
'specify range to look in
Set rng = ActiveSheet.Columns(" A:A ")
'specify string to look for
findString = " Rockets "
'find cell with string
Set cell = rng.Find(What:=findString, LookIn:=xlFormulas, _
LookAt:=xlWhole, MatchCase:=False)
If cell Is Nothing Then
cell.Font.Color = vbBlack
Else
cell.Font.Color = vbRed
cell.Font.Bold = True
End If
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
“Rockets” dizesini içeren hücredeki yazı tipinin artık kırmızı ve kalın olduğuna dikkat edin.
Diğer tüm hücreler siyah yazı tiplerini korudu.
Koddaki MatchCase:=False bağımsız değişkeninin VBA’ya büyük/küçük harfe duyarlı olmayan bir arama gerçekleştirmesini söylediğini unutmayın.
Dolayısıyla, A sütunundaki takım adı “roketler” ise, makro her zaman bu dizeyi bulur ve yazı tipini kırmızı ve kalın yapar.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA: EĞER ORTALAMA ve EĞER ORTALAMA işlevleri nasıl yazılır
VBA: ETOPLA ve ETOPLA işlevleri nasıl yazılır
VBA: COUNTIF ve COUNTIFS işlevleri nasıl yazılır?