• DİKKAT

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

Hücreleri rengine göre sayma

  • Konbuyu başlatan Konbuyu başlatan asdsxx
  • Başlangıç tarihi Başlangıç tarihi

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
510
Excel Vers. ve Dili
Excel 2016 Türkçe
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...
 
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...
 
Verdiğim linkte İdris beyin KTF önerileri var onları deneyebilirsiniz.
 
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
 
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
 
Geri
Üst