• DİKKAT

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

Aynı renkte olan hücreleri sayma

Katılım
8 Kasım 2024
Mesajlar
32
Excel Vers. ve Dili
professional plus 2019
Arkadaşlar merhaba,

Aynı sütunda yer alan aynı renkte olan hücrelerden kaç tane olduğunu saydırabilir miyiz.

Örneğin ;B2 sütünunda yer alan kırmızı renkli hücrelerden kaç tane olduğu gibi

Excel online da yer almakta veriler bu arada
 
Eğer Excel masaüstü sürümüne erişiminiz varsa, VBA ile aynı renkli hücreleri sayan özel bir fonksiyon yazılabilir.
 
online excel de vba çalışmaz.

En kısa yöntem renklerin yanına kod koymanız olur.

Kırmızıya K
Maviye M
Sarıya S

sonra bu renklerin yanına kodları yazıp Countif (Eğersay) ile saydırabilirsiniz.
 
Liste fazla tek tek kodlamak zor olacak benim için teşekkür ederim.
 
Aşağıda, B sütunundaki belirli bir renkteki hücreleri saymanıza yarayacak bir VBA makrosu bulunmaktadır. Bu makro, kullanıcının seçtiği hücre rengini temel alarak aynı renge sahip hücreleri B sütununda sayar.

  1. Excel'in masaüstü sürümünde Alt + F11 tuşlarına basarak VBA Düzenleyicisini açın.
  2. Ekle > Modül seçeneğiyle yeni bir modül ekleyin.
  3. Aşağıdaki kodu bu modüle yapıştırın:
Kod:
Function SayRenkliHücreler(RenkHücre As Range, VeriAraligi As Range) As Long
    Dim hücre As Range
    Dim renkSayisi As Long
    Dim hedefRenk As Long
    
    ' Kullanıcının seçtiği hücrenin rengini alır
    hedefRenk = RenkHücre.Interior.Color
    
    ' Sayımı sıfırlar
    renkSayisi = 0
    
    ' Veri aralığındaki hücreleri kontrol eder
    For Each hücre In VeriAraligi
        If hücre.Interior.Color = hedefRenk Then
            renkSayisi = renkSayisi + 1
        End If
    Next hücre
    
    ' Sonucu döndürür
    SayRenkliHücreler = renkSayisi
End Function

Kullanımı:
  1. Belirli bir renkteki hücreleri saymak için herhangi bir hücreye aşağıdaki formülü girin:
Kod:
=SayRenkliHücreler(B1; B2:B100)

  1. Burada:
    • B1: Saymak istediğiniz hücrenin rengiyle aynı renge sahip bir hücre seçin.
    • B2:B100: B sütunundaki aralığı temsil eder; istediğiniz hücre aralığını buraya yazabilirsiniz.
Bu fonksiyon, B2:B100 aralığında B1 hücresinin renginde olan hücrelerin sayısını döndürecektir.
 
Aşağıda, B sütunundaki belirli bir renkteki hücreleri saymanıza yarayacak bir VBA makrosu bulunmaktadır. Bu makro, kullanıcının seçtiği hücre rengini temel alarak aynı renge sahip hücreleri B sütununda sayar.

  1. Excel'in masaüstü sürümünde Alt + F11 tuşlarına basarak VBA Düzenleyicisini açın.
  2. Ekle > Modül seçeneğiyle yeni bir modül ekleyin.
  3. Aşağıdaki kodu bu modüle yapıştırın:
Kod:
Function SayRenkliHücreler(RenkHücre As Range, VeriAraligi As Range) As Long
    Dim hücre As Range
    Dim renkSayisi As Long
    Dim hedefRenk As Long
   
    ' Kullanıcının seçtiği hücrenin rengini alır
    hedefRenk = RenkHücre.Interior.Color
   
    ' Sayımı sıfırlar
    renkSayisi = 0
   
    ' Veri aralığındaki hücreleri kontrol eder
    For Each hücre In VeriAraligi
        If hücre.Interior.Color = hedefRenk Then
            renkSayisi = renkSayisi + 1
        End If
    Next hücre
   
    ' Sonucu döndürür
    SayRenkliHücreler = renkSayisi
End Function

Kullanımı:
  1. Belirli bir renkteki hücreleri saymak için herhangi bir hücreye aşağıdaki formülü girin:
Kod:
=SayRenkliHücreler(B1; B2:B100)

  1. Burada:
    • B1: Saymak istediğiniz hücrenin rengiyle aynı renge sahip bir hücre seçin.
    • B2:B100: B sütunundaki aralığı temsil eder; istediğiniz hücre aralığını buraya yazabilirsiniz.
Bu fonksiyon, B2:B100 aralığında B1 hücresinin renginde olan hücrelerin sayısını döndürecektir.
TEŞEKKÜR EDERİM
 
Aşağıda, B sütunundaki belirli bir renkteki hücreleri saymanıza yarayacak bir VBA makrosu bulunmaktadır. Bu makro, kullanıcının seçtiği hücre rengini temel alarak aynı renge sahip hücreleri B sütununda sayar.

  1. Excel'in masaüstü sürümünde Alt + F11 tuşlarına basarak VBA Düzenleyicisini açın.
  2. Ekle > Modül seçeneğiyle yeni bir modül ekleyin.
  3. Aşağıdaki kodu bu modüle yapıştırın:
Kod:
Function SayRenkliHücreler(RenkHücre As Range, VeriAraligi As Range) As Long
    Dim hücre As Range
    Dim renkSayisi As Long
    Dim hedefRenk As Long
   
    ' Kullanıcının seçtiği hücrenin rengini alır
    hedefRenk = RenkHücre.Interior.Color
   
    ' Sayımı sıfırlar
    renkSayisi = 0
   
    ' Veri aralığındaki hücreleri kontrol eder
    For Each hücre In VeriAraligi
        If hücre.Interior.Color = hedefRenk Then
            renkSayisi = renkSayisi + 1
        End If
    Next hücre
   
    ' Sonucu döndürür
    SayRenkliHücreler = renkSayisi
End Function

Kullanımı:
  1. Belirli bir renkteki hücreleri saymak için herhangi bir hücreye aşağıdaki formülü girin:
Kod:
=SayRenkliHücreler(B1; B2:B100)

  1. Burada:
    • B1: Saymak istediğiniz hücrenin rengiyle aynı renge sahip bir hücre seçin.
    • B2:B100: B sütunundaki aralığı temsil eder; istediğiniz hücre aralığını buraya yazabilirsiniz.
Bu fonksiyon, B2:B100 aralığında B1 hücresinin renginde olan hücrelerin sayısını döndürecektir.
YENİ DENEDİM ÇALIŞMADI NEDEN ACABA
 
Merhaba,
Alternatif Kodlar

Bir ara farklı KDV toplamı için yapmıştım.
Sağolsun @ÖmerBey yardım etmişti KDV toplamı

KTF Formülü yazdığınız hücre ne Renk ise
Belirlediğiniz Aralıktaki aynı Renkler i toplar.

Arada toplanacak hücreleri değiştirdiğiniz de (işlem çalışmaz)
F9 veya sayfada her hangi bir hücrede işlem yapılınca
Formülü yeniler bu saye de doğru sonucu verir
Application.Volatile True sayesin de

C++:
Function RenkTopla(Aralik As Range) As Double
    Application.Volatile True
  
    Dim Huc As Range
    Dim HangiRenk As Long
    Dim ToplamRenk As Double

    On Error GoTo HataYakala

    ' Fonksiyonu çağıran hücrenin yazı rengini al
    HangiRenk = Application.Caller.Font.Color ' Range(Application.ThisCell.Address).Cells.Font.Color
    ToplamRenk = 0

    ' Belirtilen aralıktaki hücreleri dolaşarak, aynı renkteki değerleri topla
    For Each Huc In Aralik
        If Huc.Font.Color = HangiRenk Then
            ToplamRenk = ToplamRenk + Huc.Value
        End If
    Next Huc

    RenkTopla = ToplamRenk
    Exit Function

HataYakala:
    RenkTopla = CVErr(xlErrValue)
End Function
 
Son düzenleme:
Geri
Üst