• DİKKAT

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

Hücre Dolgu Rengine Göre Değer Atama

  • Konbuyu başlatan Konbuyu başlatan akmes
  • Başlangıç tarihi Başlangıç tarihi
Katılım
27 Mayıs 2010
Mesajlar
527
Excel Vers. ve Dili
Excel 2003 Turkçe
Merhaba,

A1 hücresi yeşil dolgulu, A2 hücresi kırmızı dolgulu olduğunu düşünelim, B1 hücresine A1 hücresi yeşil dolgulu ise 1, kırmızı ise 2 değeri alsın diye bir formül yazmak istiyorum.Bu konuda yardımcı olurmuzunuz.
 
Merhaba,

A1 hücresi yeşil dolgulu, A2 hücresi kırmızı dolgulu olduğunu düşünelim, B1 hücresine A1 hücresi yeşil dolgulu ise 1, kırmızı ise 2 değeri alsın diye bir formül yazmak istiyorum.Bu konuda yardımcı olurmuzunuz.

Yapmak istediğiniz yapılabilir fakat renk kodları olması lazım ben sanki Vb renkleri ile yapılmış formulu ekte gonderdim siz kendi renklerinizin kodlarını alarak VbRed ve VbGreen olarak tanımladığım yerlere renk kodlarını yazmanız lazım. daha fazla renk varsa elseif kısımlarını arttırın.

Kod:
Sub Renk()
For i = 1 To 2
If Cells(i, "A").Interior.Color = vbRed Then
Cells(i, "A").Value = 1
ElseIf Cells(i, "A").Interior.Color = vbGreen Then
cells(i, "A").Value = 2
Else
Cells(i, "A").Value = "YOK"
End If
Next
End Sub
 
Yapmak istediğiniz yapılabilir fakat renk kodları olması lazım ben sanki Vb renkleri ile yapılmış formulu ekte gonderdim siz kendi renklerinizin kodlarını alarak VbRed ve VbGreen olarak tanımladığım yerlere renk kodlarını yazmanız lazım. daha fazla renk varsa elseif kısımlarını arttırın.

Kod:
Sub Renk()
For i = 1 To 2
If Cells(i, "A").Interior.Color = vbRed Then
Cells(i, "A").Value = 1
ElseIf Cells(i, "A").Interior.Color = vbGreen Then
cells(i, "A").Value = 2
Else
Cells(i, "A").Value = "YOK"
End If
Next
End Sub

İlgin için teşekkür ederim.Bu kodlar işimi görmedi.
 
Merhaba,

Renk sorgusu için kullanıcı tanımlı fonksiyon kullanmalısınız.

Aşağıdaki kodu boş bir modüle uygulayın.

Kod:
Option Explicit
 
Function RENK(Hücre As Range)
    Application.Volatile True
    RENK = Hücre.Interior.ColorIndex
End Function

Daha sonra sonucu görmek istediğiniz hücreye aşağıdaki formülü uygulayın.

Kod:
=EĞER(RENK(A1)=3;1;EĞER(RENK(A1)=4;2;""))
 

Ekli dosyalar

Merhaba,

Renk sorgusu için kullanıcı tanımlı fonksiyon kullanmalısınız.

Aşağıdaki kodu boş bir modüle uygulayın.

Kod:
Option Explicit
 
Function RENK(Hücre As Range)
    Application.Volatile True
    RENK = Hücre.Interior.ColorIndex
End Function

Daha sonra sonucu görmek istediğiniz hücreye aşağıdaki formülü uygulayın.

Kod:
=EĞER(RENK(A1)=3;1;EĞER(RENK(A1)=4;2;""))

Üstadım tam istediğim gibi,emeğinize sağlık,teşekkür ederim.
 
Bende benzer konu olduğundan sorumu burda sorayım.

G sütunundaki, hücre değeri 0 dan büyükse aynı satırdaki A-J arasındaki tüm hücrelerin dolgu rengini sarıya çevirmesini istiyorum.

tek satır için yapabiliyorum sıkıntı olmuyorda bi türlü döngüye sokamadım.

Tek satır için kodlar

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Range
If Range("G2").Value > "0" Then
For Each i In Range("A2:H1")
i.Interior.ColorIndex = 6
Next i
End If
End Sub
 
koşullu biçimlendirme ile deneseniz daha mantıklı değil mi_?
makroya gerek kalmaz böylece
dilerseniz dosya ekleyin yardımcı olmaya çalışalım
 
İhsan Bey ilginiz için teşekkür ederim.
Koşullu biçimlendirmede benim bildiğim sadece seçili hücrenin dolgu rengini ayarlanabiliyor.
Benim istediğim ise G sütunundaki 0 dan büyük olan hücrelerdeki tüm satırın dolgu rengini değiştirmek.

Örnek dosyası ekte
 

Ekli dosyalar

merhaba,

dosyanız ektedir. inceleyin. takıldığınız bir yer olursa görüşürüz.

kolay gelsin
 

Ekli dosyalar

Sn hasaki emeğiniz için çok teşekkür ederim.
Tam olarak istediğim sizin yaptığınız gibi hatta bi adım ötesi malzeme gönderilmişse ve hala kalan malzeme varsa kalan hücre rengini örneğin turkuaz yapmak.

Nasıl yaptığınız hakkında fikir sahibi olamadım. Kısaca bilgilendirme yaparsanız çok sevinirim.
 

Ekli dosyalar

Sn hasaki emeğiniz için çok teşekkür ederim.
Tam olarak istediğim sizin yaptığınız gibi hatta bi adım ötesi malzeme gönderilmişse ve hala kalan malzeme varsa kalan hücre rengini örneğin turkuaz yapmak.

Nasıl yaptığınız hakkında fikir sahibi olamadım. Kısaca bilgilendirme yaparsanız çok sevinirim.

merhaba
üst menülerden
A2:I10 aralığını seçin
biçim - koşullu biçimlendirme
1. koşul olarak
hücre değeri yazan yerden formül seçin ve formül bölümüne
Kod:
=$G2>0
bu formülü yazın ve biçim'i ayarlayın.
biçim - koşullu biçimlendirme
H2:H10 aralığını seçin
biçim - koşullu biçimlendirme
formül bölümüne
Kod:
=VE($G2>0;$H2>0)
bu formülü yazın ve biçim'i ayarlayın.
yapamam derseniz
eki inceleyin
 

Ekli dosyalar

excel 2007 kullanıyorsnuzdur umarım.

görselde anlatmaya çalıştım.

kolay gelsin
 

Ekli dosyalar

  • biçimle.jpg
    biçimle.jpg
    93.2 KB · Görüntüleme: 62
İhsan Bey ve Sn Hasaki ilginize çok çok teşekkür ederim.
Olayın mantığını anladığımdan kendi işime yarayacak şekilde gerekli düzenlemelerini yaptım tam istediğim gibi oldu fakat bu işlemi günde 5-6 sefer yaptığımdan makro şeklinde olsaydı kendi adıma daha kullanışlı olacaktı.
 
İhsan Bey ve Sn Hasaki ilginize çok çok teşekkür ederim.
Olayın mantığını anladığımdan kendi işime yarayacak şekilde gerekli düzenlemelerini yaptım tam istediğim gibi oldu fakat bu işlemi günde 5-6 sefer yaptığımdan makro şeklinde olsaydı kendi adıma daha kullanışlı olacaktı.

farklı dosyaya mı uygulayacaksınız bunu onu anlamadım. öyle ise koşullu biçimlendirme dediğiniz gibi kullanışsız olur.
buna cevap verirseniz isteğinize uygun şekilde makro'yu yazıp göndereyim.
 
İhsan Bey ve Sn Hasaki ilginize çok çok teşekkür ederim.
Olayın mantığını anladığımdan kendi işime yarayacak şekilde gerekli düzenlemelerini yaptım tam istediğim gibi oldu fakat bu işlemi günde 5-6 sefer yaptığımdan makro şeklinde olsaydı kendi adıma daha kullanışlı olacaktı.

siz cevap vermeden ben kod'u da vereyim
Sayfa1'in kod bölümüne kopyalayın ve deneyin
Kod:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A2:I65536")) Is Nothing Then Exit Sub
Dim ts
For ts = 2 To Cells(65536, "A").End(xlUp).Row
If Cells(ts, "G") > 0 Then
Range("A" & ts & ":I" & ts).Interior.Color = vbYellow
End If
Next
For ts = 2 To Cells(65536, "A").End(xlUp).Row
If Cells(ts, "G") > 0 And Cells(ts, "H") > 0 Then
Range("H" & ts).Interior.ColorIndex = 8
End If
Next
End Sub
 
Merhaba,

Renk sorgusu için kullanıcı tanımlı fonksiyon kullanmalısınız.

Aşağıdaki kodu boş bir modüle uygulayın.

Kod:
Option Explicit
 
Function RENK(Hücre As Range)
    Application.Volatile True
    RENK = Hücre.Interior.ColorIndex
End Function

Daha sonra sonucu görmek istediğiniz hücreye aşağıdaki formülü uygulayın.

Kod:
=EĞER(RENK(A1)=3;1;EĞER(RENK(A1)=4;2;""))

Merhaba,

aynı sorunda siyah ve beyaz için de formül verebilir misiniz lütfen
 
Merhaba,

4 nolu mesajımda ki dosyada 2. sayfada tüm ana renklerin kodları var. Formüllerinizde dilediğinizi kullanabilirsiniz.

SİYAH = 1
BEYAZ = 2
 
Merhaba,

4 nolu mesajımda ki dosyada 2. sayfada tüm ana renklerin kodları var. Formüllerinizde dilediğinizi kullanabilirsiniz.

SİYAH = 1
BEYAZ = 2

Ama kabul etmiyor

yani daha doğrusu şöyle diyeyim her renk değiştirdiğimde formülün bulunduğu hücreye girip enter yapmak zoruna kalıyorum
 
Son düzenleme:
Geri
Üst