• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Soru Renklendirme Yardımı Hk.

Erdogan3434

Altın Üye
Katılım
14 Ocak 2022
Mesajlar
79
Excel Vers. ve Dili
Office 2013 Professional, Türkçe
Altın Üyelik Bitiş Tarihi
25-01-2028
Merhabalar,

Ekte örneği bulunan kodda A sütunun da bulunan isimleri E ile G sütunları arasında arıyor, bulduğumu yeşile boyuyorum. Sildiklerim beyaza dönüyor bulamadıklarım zaten beyaz kalıyor. Sizden ricam eğer söz konusu aralıkta aynı isim iki defa yazıyorsa A sütunundaki ismin kırmızı renge dönmesini sağlamaktır.

Desteğinizi rica ediyorum.

Saygılarımla.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,552
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Option Explicit

Sub Ara_Renklendir()
    Dim Rng As Range, Dizi As Object, Aranan As String

    Set Dizi = VBA.CreateObject("Scripting.Dictionary")

    For Each Rng In Range("E:J").SpecialCells(xlCellTypeConstants)
        Aranan = UCase(Replace(Replace(Rng.Value, "ı", "I"), "i", "İ"))
        If Not Dizi.Exists(Aranan) Then
            Dizi.Item(Aranan) = 1
        Else
            Dizi.Item(Aranan) = Dizi.Item(Aranan) + 1
        End If
    Next
    
    For Each Rng In Range("A2:A" & Rows.Count).SpecialCells(xlCellTypeConstants)
        Aranan = UCase(Replace(Replace(Rng.Value, "ı", "I"), "i", "İ"))
        If Dizi.Exists(Aranan) Then
            If Dizi.Item(Aranan) = 1 Then
                Rng.Interior.Color = vbGreen
            Else
                Rng.Interior.Color = vbRed
            End If
        Else
            Rng.Interior.Color = xlNone
        End If
    Next
    
    Set Dizi = Nothing
    
    MsgBox "Arama işlemi tamamlanmıştır.", vbInformation
End Sub
 

Erdogan3434

Altın Üye
Katılım
14 Ocak 2022
Mesajlar
79
Excel Vers. ve Dili
Office 2013 Professional, Türkçe
Altın Üyelik Bitiş Tarihi
25-01-2028
Deneyiniz.

C++:
Option Explicit

Sub Ara_Renklendir()
    Dim Rng As Range, Dizi As Object, Aranan As String

    Set Dizi = VBA.CreateObject("Scripting.Dictionary")

    For Each Rng In Range("E:J").SpecialCells(xlCellTypeConstants)
        Aranan = UCase(Replace(Replace(Rng.Value, "ı", "I"), "i", "İ"))
        If Not Dizi.Exists(Aranan) Then
            Dizi.Item(Aranan) = 1
        Else
            Dizi.Item(Aranan) = Dizi.Item(Aranan) + 1
        End If
    Next
   
    For Each Rng In Range("A2:A" & Rows.Count).SpecialCells(xlCellTypeConstants)
        Aranan = UCase(Replace(Replace(Rng.Value, "ı", "I"), "i", "İ"))
        If Dizi.Exists(Aranan) Then
            If Dizi.Item(Aranan) = 1 Then
                Rng.Interior.Color = vbGreen
            Else
                Rng.Interior.Color = vbRed
            End If
        Else
            Rng.Interior.Color = xlNone
        End If
    Next
   
    Set Dizi = Nothing
   
    MsgBox "Arama işlemi tamamlanmıştır.", vbInformation
End Sub
Hocam bir günde ikinci kez beni ciddi bir zahmetten kurtarıyorsunuz. Size ne kadar teşekkür etsem az. Kod harika. Saygılarımla.
 
Üst