2 sütundaki aynı sayıları bulma ve birbirinden ayırma

Katılım
3 Aralık 2019
Mesajlar
14
Excel Vers. ve Dili
Excel 2010 - Türkçe
Arkadaşlar merhaba,

Elimde 2 sütündan oluşan bir excel dosyası var. Biri A sütünü biri B sütünu. Ben A sütununda ki sayıdan şayet B sütununda varsa onu renklendirmesini istiyorum. Yalnız bu sayılar yanyana kutucuklarda değil. Örn. birisi A21 diğeri B45 dedir. Birde aynı sayılardan aşağıki kutucuklarda yine var. Hepsini ayrı ayrı renklendirmesi mümkün mü? Mesala 50 rakamı A1de var diğeri B5te bunları buldu ve sarı yaptı yada benim anlayacağım şekilde bana belirtti. Ama 50 rakamı A45de diğeri B89 da var onuda bana bulup değişik bir şekilde benim anlayacağım şekilde gösterebilir mi? Lütfen yardımlarınızı bekliyorum
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Tek renk isterseniz koşullu biçimlendirme ile yapabilirsiniz.
 
Katılım
3 Aralık 2019
Mesajlar
14
Excel Vers. ve Dili
Excel 2010 - Türkçe
Tek renk isterseniz koşullu biçimlendirme ile yapabilirsiniz.
tek renkte yapsam a sütunundaki bütün 50 lileri de alıyor. Ben onu istemiyorum. A5 deki 50 ile B20 deki 50 işaretlesin ama A8 de yine 50 var B55 de de 50 var o 50 lerin yukardaki 50 lerden farklı olduğunu göstersin istiyorum
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosya üzerinde tarif ederseniz daha anlaşılır olacaktır.
 
Katılım
3 Aralık 2019
Mesajlar
14
Excel Vers. ve Dili
Excel 2010 - Türkçe
[url=https://hizliresim.com/d2vfb2][/URL]

ÖRNEKTEKİ GİBİ YA RENKLENDİRMESİNİ YA DA ANLAŞILACAK ŞEKİLDE AYIRMASINI İSTİYORUM. AMA BAKIN A' DA 126 2 KERE YAZILMIŞ VE B DEDE 2 KERE YAZILDIĞI İÇİN RENKLERİ FARKLI. TAM TERCÜME EDEMEDİM SANIRIM :(
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosya talep ettim. Siz resim paylaştınız.

Bazen kendimi ifade edemediğimi düşünüyorum.

Paylaştığınız görsele göre makro kullanmak daha uygun görünüyor.

Veri sayınız nedir?
 

Korhan Ayhan

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

C++:
Option Explicit

Sub Ayni_Olanlari_Renklendir()
    Dim Renkler As Object, Veri As Range, Son As Long
    Dim Bul As Range, Adres As String, Renk As Variant
    Dim Kod1 As Byte, Kod2 As Byte, Kod3 As Byte
   
    Application.ScreenUpdating = False
   
    Set Renkler = CreateObject("Scripting.Dictionary")
   
    Range("A2:B" & Rows.Count).Interior.Color = -4142
   
    Son = Cells(Rows.Count, 1).End(3).Row
   
    For Each Veri In Range("A2:A" & Son)
        If Veri.Value <> "" Then
            Set Bul = Range("B:B").Find(Veri.Value, , , xlWhole)
            If Not Bul Is Nothing Then
                Adres = Bul.Address
                Do
                    If Bul.Interior.ColorIndex = -4142 Then
10                      Kod1 = Evaluate("=RANDBETWEEN(1,255)")
                        Kod2 = Evaluate("=RANDBETWEEN(1,255)")
                        Kod3 = Evaluate("=RANDBETWEEN(1,255)")
                        Renk = RGB(Kod1, Kod2, Kod3)
                       
                        If Not Renkler.Exists(Renk) Then
                            If Renk = 16777215 Then GoTo 10
                            Renkler.Add Renk, Nothing
                            Bul.Interior.Color = Renk
                            Veri.Interior.Color = Renk
                            Exit Do
                        Else
                            GoTo 10
                        End If
                    End If
                   
                    Set Bul = Range("B:B").FindNext(Bul)
                Loop While Not Bul Is Nothing And Bul.Address <> Adres
            End If
        End If
    Next

    Set Renkler = Nothing

    Application.ScreenUpdating = True
   
    MsgBox "Renklendirme işlemi tamamlanmıştır.", vbInformation
End Sub
 
Katılım
21 Aralık 2016
Mesajlar
722
Excel Vers. ve Dili
Office 365 TR
Alternatif olarak
Formülle çözümlenerek koşullu biçimlendirme yapılmış örnek ektedir. İncelersiniz...

Not : Bana göre, koşullu biçimlendirme karmaşık ve ilgili değerleri bulma zorluğu çekiliyor.
Bu nedenle de karşılık gelen değerlerin adresleri, adreslerdeki değerler ve tekrar adetleri formüllerle yazdırıldı.

 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Deneyiniz.

C++:
Option Explicit

Sub Ayni_Olanlari_Renklendir()
    Dim Renkler As Object, Veri As Range, Son As Long
    Dim Bul As Range, Adres As String, Renk As Variant
    Dim Kod1 As Byte, Kod2 As Byte, Kod3 As Byte
   
    Application.ScreenUpdating = False
   
    Set Renkler = CreateObject("Scripting.Dictionary")
   
    Range("A2:B" & Rows.Count).Interior.Color = -4142
   
    Son = Cells(Rows.Count, 1).End(3).Row
   
    For Each Veri In Range("A2:A" & Son)
        If Veri.Value <> "" Then
            Set Bul = Range("B:B").Find(Veri.Value, , , xlWhole)
            If Not Bul Is Nothing Then
                Adres = Bul.Address
                Do
                    If Bul.Interior.ColorIndex = -4142 Then
10                      Kod1 = Evaluate("=RANDBETWEEN(1,250)")
                        Kod2 = Evaluate("=RANDBETWEEN(1,250)")
                        Kod3 = Evaluate("=RANDBETWEEN(1,250)")
                        Renk = RGB(Kod1, Kod2, Kod3)
                       
                        If Not Renkler.Exists(Renk) Then
                            If Renk = 16777215 Then GoTo 10
                            Renkler.Add Renk, Nothing
                            Bul.Interior.Color = Renk
                            Veri.Interior.Color = Renk
                            Exit Do
                        Else
                            GoTo 10
                        End If
                    End If
                   
                    Set Bul = Range("B:B").FindNext(Bul)
                Loop While Not Bul Is Nothing And Bul.Address <> Adres
            End If
        End If
    Next

    Set Renkler = Nothing

    Application.ScreenUpdating = True
   
    MsgBox "Renklendirme işlemi tamamlanmıştır.", vbInformation
End Sub
Korhan Ayhan uzmanım merhaba
size zahmet olmazsa
A ve B sütunundaki renklendirmeleri
D ve E de yaptığım gibi veya
G ve H de yaptığım gibi
(hangisi sizi az uğraştıracaksa)
tek renk olacak şekilde değiştirebilir misiniz? Eğer kolay ise ikisi de ayrı ayrı olsa iyi olur :)
Saygılar

 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Verileriniz sıralı ise aslında renklendirmeye gerek yok.

C2 hücresine aşağıdaki formülü yazıp alt hücrelere sürüklerseniz işinizi görecektir.

C++:
=A2=B2
Ek olarak makro ile renklendirme için aşağıdaki kodları kullanabilirsiniz.

C++:
Option Explicit

Sub Ayni_Olanlari_Renklendir()
    Dim Veri As Range, Son As Long
    
    Application.ScreenUpdating = False
    
    Range("A2:B" & Rows.Count).Interior.Color = -4142
    
    Son = Cells(Rows.Count, 1).End(3).Row
    
    For Each Veri In Range("A2:A" & Son)
        If Veri.Value <> "" Then
            If Veri.Value = Veri.Offset(0, 1) Then Veri.Resize(, 2).Interior.ColorIndex = 6
        End If
    Next

    Application.ScreenUpdating = True
    
    MsgBox "Renklendirme işlemi tamamlanmıştır.", vbInformation
End Sub

Sub Ayni_Olmayanlari_Renklendir()
    Dim Veri As Range, Son As Long
    
    Application.ScreenUpdating = False
    
    Range("A2:B" & Rows.Count).Interior.Color = -4142
    
    Son = Cells(Rows.Count, 1).End(3).Row
    
    For Each Veri In Range("A2:A" & Son)
        If Veri.Value <> "" Then
            If Veri.Value <> Veri.Offset(0, 1) Then Veri.Resize(, 2).Interior.ColorIndex = 6
        End If
    Next

    Application.ScreenUpdating = True
    
    MsgBox "Renklendirme işlemi tamamlanmıştır.", vbInformation
End Sub
 
Katılım
3 Aralık 2019
Mesajlar
14
Excel Vers. ve Dili
Excel 2010 - Türkçe
Deneyiniz.

C++:
Option Explicit

Sub Ayni_Olanlari_Renklendir()
    Dim Renkler As Object, Veri As Range, Son As Long
    Dim Bul As Range, Adres As String, Renk As Variant
    Dim Kod1 As Byte, Kod2 As Byte, Kod3 As Byte
  
    Application.ScreenUpdating = False
  
    Set Renkler = CreateObject("Scripting.Dictionary")
  
    Range("A2:B" & Rows.Count).Interior.Color = -4142
  
    Son = Cells(Rows.Count, 1).End(3).Row
  
    For Each Veri In Range("A2:A" & Son)
        If Veri.Value <> "" Then
            Set Bul = Range("B:B").Find(Veri.Value, , , xlWhole)
            If Not Bul Is Nothing Then
                Adres = Bul.Address
                Do
                    If Bul.Interior.ColorIndex = -4142 Then
10                      Kod1 = Evaluate("=RANDBETWEEN(1,255)")
                        Kod2 = Evaluate("=RANDBETWEEN(1,255)")
                        Kod3 = Evaluate("=RANDBETWEEN(1,255)")
                        Renk = RGB(Kod1, Kod2, Kod3)
                      
                        If Not Renkler.Exists(Renk) Then
                            If Renk = 16777215 Then GoTo 10
                            Renkler.Add Renk, Nothing
                            Bul.Interior.Color = Renk
                            Veri.Interior.Color = Renk
                            Exit Do
                        Else
                            GoTo 10
                        End If
                    End If
                  
                    Set Bul = Range("B:B").FindNext(Bul)
                Loop While Not Bul Is Nothing And Bul.Address <> Adres
            End If
        End If
    Next

    Set Renkler = Nothing

    Application.ScreenUpdating = True
  
    MsgBox "Renklendirme işlemi tamamlanmıştır.", vbInformation
End Sub
Gerçekten çok teşekkür ederim. Tamda istediğim buydu elinize sağlık :)
 
Üst