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?

Yorum ekle

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