Hücre içindeki renk değerine göre değer atamak

Katılım
16 Eylül 2012
Mesajlar
43
Excel Vers. ve Dili
ms excel 2007


Selam arkadaşlar benim yapmak istediğim şu:

eğer kırmızı renk a satırında ise değer A
eğer kırmızı renk b satırında ise değer B
eğer kırmızı renk c satırında ise değer C

şeklinde yapmak istiyorum. siteyi inceledim kullancı tanımlı işlevler ile halledilebiliyormuş.Ancak böyle birşeye rastlamadım.Yardımcı olursanız sevinirim.
 
Son düzenleme:

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,405
Excel Vers. ve Dili
2007 Türkçe
Boş bir modüle aşağıdaki kodu yapıştırın.
Kod:
Function RENKLİSÜTUN(aralık, renk)
For Each hücre In aralık
    If hücre.Font.Color = renk Then
        RENKLİSÜTUN = Split(hücre.Address, "$")(1)
        Exit Function
    End If
Next
End Function
Sonra D1 hücresine aşağıdaki formülü yazıp aşağı çekerek çoğaltınız.
Kod:
=RENKLİSÜTUN(A1:C1;[COLOR="Red"]255[/COLOR])
Bu formüldeki kırmızı kısım renk kodu: Standart kırmızı rengin kodu 255.
 
Katılım
16 Eylül 2012
Mesajlar
43
Excel Vers. ve Dili
ms excel 2007
çok teşekkürler ama sorunum şu eğer kırmızı a1 satırında ise x b1 de ise y c1 de ise z değerinivermek istiyorum. bu sadece kırmızı renk bulucu gibi galiba...
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,405
Excel Vers. ve Dili
2007 Türkçe
Hücrenin renk kodunu öğrenmek için aşağıdaki Kullanıcı Tanımlı Fonksiyonu kullanabilirsiniz.
Kod:
Function RENKÖĞREN(hücre)
RENKÖĞREN = hücre.Font.Color
End Function
Kod:
=RENKÖĞREN(A1)
şeklinde kullanabilirsiniz.
Belirttiğiniz rengin kodu 3421408 olarak gözüküyor.


Eğer A, B, C yerine de X, Y, Z yazdırmak istiyorsanız yukarıda verdiğim fonksiyonla beraber formülünüzü aşağıdaki şekilde yazabilirsiniz.
Kod:
=EĞER(RENKLİSÜTUN(A1:C1;3421408)="A";"X";EĞER(RENKLİSÜTUN(A1:C1;3421408)="B";"Y";EĞER(RENKLİSÜTUN(A1:C1;3421408)="C";"Z")))
 
Katılım
16 Eylül 2012
Mesajlar
43
Excel Vers. ve Dili
ms excel 2007
çok teşekkür ederim
 
Üst