Hücreleri rengine göre sayma

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Arkadaşlar excelde hücreleri renklerine göre saymak için çeşitli makro kodları var. Bu kodlar normal hücreleri renge göre sayıyor.
Ama bir hücre Koşullu biçimlendirme ile renklendirilmiş ise bu kodlar işe yaramıyor.
Belirli bölgedeki "Koşullu biçimlendirme" ile farklı renkler ile renklendirilmiş hücrelerin sayısını nasıl bulabiliriz?
Teşekkürler...
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Korhan Bey ilginize çok teşekkür ederim. verdiğiniz linkdeki tüm ilgili konuları inceledim. Ama benim yapmak istediğim durumla ilgili bir konu başlığı bulamadım.
Ben formül ile mesela "I59:ab59" aralındaki koşullu biçimlendirme ile renklendirilen hücrelerin rengini başka bir aralıktaki bir hücreye tıklatarak o hücrenin rengine sahip "I59:ab59" aralığındaki renkli hücrelerin sayısını formülü yazdığım hücreye vermesi. (Kod ile değil)
Normal de modüle kod eklendikten sonra "=Renksay(I59:AB59;E84)" yapıyor. (E84 hücresinde sayacağı renk var) Formül sadece tek renk için değil normal formül mantığındaki kopyalama mantığı ile diğer hücrelerde de çalışabilmeli.
Bu formülü Koşullu biçimlendirme ile renklendirilen hücrelerde nasıl uygularız. Yada bu şekilde formülün çalışması için "Modül" içine nasıl bir kod oluşturulur
Saygılarımla...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Verdiğim linkte İdris beyin KTF önerileri var onları deneyebilirsiniz.
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Verdiğim linkte İdris beyin KTF önerileri var onları deneyebilirsiniz.
Korhan Bey bahsettiğiniz kısımdaki "https://www.excel.web.tr/threads/kosullu-bicimlendirme-ile-renkli-huecreleri-sayma.131271/page-2"
burada yazan yerde anlatılıyor. Ancak formülde rengin alınacağı yer olarak değil de formüle doğrudan kod yazılıyor. dolayısıyla formüldeki kodun hangi renk olduğunu bulmak çok zor. bir türlü yakalayamadım.
Mesela yeşil renk için "5296274" kırmızı için "255" kullanılmış. renklerin bir ton farklı olunca formül hesaplamıyor.
Rengin referans alacağı kod değilde bizim adres göstereceğimiz hücredeki rengi nasıl aldırabiliriz.
Örnek: "I59:AB59;5296274" değil de "I59:AB59;E84" gibi nasıl uygulanır. İdris Beyin hazırladığı modül kodu:
Kod:
Function KBR(ByVal aln As Range, rd As Long) As Double 'değişkenler

Dim aln1 As Range 'değişken

    Application.Volatile
    KBR = 0
    For Each aln1 In aln
        If Evaluate("yd(" & aln1.Address() & ")") = rd Then KBR = KBR + 1 'belirtilen alanda renk kodunu değerleme
    Next aln1
    
End Function


Private Function yd(ByVal aln As Range) As Double
    yd = aln.DisplayFormat.Interior.Color 'Koşullu biçimlendirme renk kodu
End Function
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Fonksiyon içinde tanımlı olan "rd" parametresini RANGE olarak tanımlarsanız renk kodu yerine tanımlı olan hücreyi kullanabilirsiniz.

Koşul kısmını da aşağıdaki gibi düzenlerseniz sonuç alabilirsiniz.

C++:
If Evaluate("yd(" & aln1.Address() & ")") = rd.Interior.Color Then KBR = KBR + 1
 
Üst