Verilen Alanda Ara, Bul Ve Renklendir - Microsoft Excel


Verilen alanda, verilen anahtar kelime için arama yapar, eğer eşleşme olursa ilgili alanı renklendirir.

Kod


Option Explicit

Sub VerilenAlandaAraBulVeRenklendir(alan As Range)
    '--------------------------------------------------
    'Değişkenler
    '--------------------------------------------------
    Dim aramaMetni As String
    Dim a          As Range
    
    '--------------------------------------------------
    'Atamalar Ve Ayarlamalar
    '--------------------------------------------------
    aramaMetni = InputBox(alan.Address & " içindeki hücrelerde aranacak metni giriniz: ")
    alan.Interior.ColorIndex = xlNone
    
    '--------------------------------------------------
    'Arama İşlemi Ve Renklendirme
    '--------------------------------------------------
    For Each a In alan
        If StrConv(a, vbLowerCase) = StrConv(aramaMetni, vbLowerCase) Then
            a.Interior.ColorIndex = 35
        End If
    Next
End Sub

Sub OrnekKullanim()
    VerilenAlandaAraBulVeRenklendir Range("A1:M20")
End Sub

Kod (Açıklamalı)


Option Explicit

Sub VerilenAlandaAraBulVeRenklendir(alan As Range)

    '--------------------------------------------------
    'InputBox aracılığıyla alınacak anahtar
    'kelimenin saklandığı değişken.
    '--------------------------------------------------
    Dim aramaMetni As String
    
    '--------------------------------------------------
    'Arama işleminde alandaki her hücreyi
    'temsil edecek değişken.
    '--------------------------------------------------
    Dim a          As Range
    
    '--------------------------------------------------
    'Aranacak anahtar kelime bilgisini
    'InputBox aracılığıyla al.
    '--------------------------------------------------
    aramaMetni = InputBox(alan.Address & " içindeki hücrelerde aranacak metni giriniz: ")
    
    '--------------------------------------------------
    'Verilen alandaki arkaplan renklerini temizle.
    'Eğer renklendirilmiş bir alanda çalışıyorsanız
    've bu renk bilgilerinin kaybolmasını
    'istemiyorsanızalanı kopyalayıp başka
    'bir sayfada işlem yapabilirsiniz.
    '--------------------------------------------------
    alan.Interior.ColorIndex = xlNone
    
    '--------------------------------------------------
    'Verilen alandaki her bir satırlık ve bir sütunluk
    'alanı (yani tek bir hücre alanında) kontrol edecek
    'şekilde döngü çalıştır.
    '--------------------------------------------------
    For Each a In alan
        
        '--------------------------------------------------
        'Eğer anahtar kelimenin komple küçük harflerden
        'oluşan biçimi, ilgili alandaki değerin komple
        'küçük harflerden oluşan değerine eşitse işlem
        'yap.
        '
        'Hem anahtar kelimeyi hem de alandaki metnin
        'küçük harf biçimiyle eşleştirerek işlem yapmak
        'bu senaryo için kullanılan bir işlem. Amaç
        'arama ve bulma işlemini biraz daha kolaylaştırmak.
        'Siz kendi aramalarınızda daha etkili sonuçlar
        'alabilmek için bu durumu değiştirebilirsiniz.
        If StrConv(a, vbLowerCase) = StrConv(aramaMetni, vbLowerCase) Then
            
            '--------------------------------------------------
            'Arka plan rengini açık yeşilin bir varyasyonu yap.
            '--------------------------------------------------
            a.Interior.ColorIndex = 35
        End If
    Next
End Sub

Sub OrnekKullanim()
    VerilenAlandaAraBulVeRenklendir Range("A1:M20")
End Sub

Etiketler
microsoft excel açıklamalı içerik microsoft excel vba