28/04/2022, 09:01
Herkese Selamlar.
Birden fazla şekil olan bir sayfam var. Aynı sayfada bir de tablo var. Tablodaki her değerin adı ile şekillerin ismi aynı.
Örneğin, A1 sütununda;
Elma (aynı isimde bir de şekil var)
Armut (aynı isimde bir de şekil var)
Kayısı (aynı isimde bir de şekil var)
Çilek (aynı isimde bir de şekil var)
Tabloda A1 sütununda bulunan verilere B1 sütununda birer değer atadığımda o veriyle aynı isimdeki şeklin renk değiştirmesini istiyorum. ( örneğin 1-10 arası değerde gri, 11-20 arası açık sarı, 21-30 arası açık turuncu, 31-40 arası turuncu, 41 ve üzeri ise kırmızı gibi)
internet açık kaynaktan bir kod buldum, tek şekil için gayet güzel çalışıyor ancak birden fazla şekil için revize etmeyi beceremedim.
KOD :
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B1")) Is Nothing Then Exit Sub
If IsNumeric(Target.Value) Then
If Target.Value < 100 Then
ActiveSheet.Shapes("ELMA").Fill.ForeColor.RGB = vbRed
ElseIf Target.Value >= 100 And Target.Value < 200 Then
ActiveSheet.Shapes("ELMA").Fill.ForeColor.RGB = vbYellow
Else
ActiveSheet.Shapes("ELMA").Fill.ForeColor.RGB = vbGreen
End If
End If
End Sub
Bu kodu yukarıda anlattığım duruma nasıl revize edebilirim?
ÖRNEK BELGE
Birden fazla şekil olan bir sayfam var. Aynı sayfada bir de tablo var. Tablodaki her değerin adı ile şekillerin ismi aynı.
Örneğin, A1 sütununda;
Elma (aynı isimde bir de şekil var)
Armut (aynı isimde bir de şekil var)
Kayısı (aynı isimde bir de şekil var)
Çilek (aynı isimde bir de şekil var)
Tabloda A1 sütununda bulunan verilere B1 sütununda birer değer atadığımda o veriyle aynı isimdeki şeklin renk değiştirmesini istiyorum. ( örneğin 1-10 arası değerde gri, 11-20 arası açık sarı, 21-30 arası açık turuncu, 31-40 arası turuncu, 41 ve üzeri ise kırmızı gibi)
internet açık kaynaktan bir kod buldum, tek şekil için gayet güzel çalışıyor ancak birden fazla şekil için revize etmeyi beceremedim.
KOD :
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B1")) Is Nothing Then Exit Sub
If IsNumeric(Target.Value) Then
If Target.Value < 100 Then
ActiveSheet.Shapes("ELMA").Fill.ForeColor.RGB = vbRed
ElseIf Target.Value >= 100 And Target.Value < 200 Then
ActiveSheet.Shapes("ELMA").Fill.ForeColor.RGB = vbYellow
Else
ActiveSheet.Shapes("ELMA").Fill.ForeColor.RGB = vbGreen
End If
End If
End Sub
Bu kodu yukarıda anlattığım duruma nasıl revize edebilirim?
ÖRNEK BELGE