Makro ile Renklendirme

Katılım
13 Temmuz 2005
Mesajlar
345
Altın Üyelik Bitiş Tarihi
28.05.2019
Merhaba arkadaşlar,
sitede baya bi aradım ama istediğim gibi birşey bulamadım,

ekteki örnekte olduğu gibi a1 ile ı3 hücreleri arasında 1 den 50 ye kadar sayılarım var. bunların her seferinde yerleri değişmekte,

şöyle birşey yapabilirmiyiz,
1 den 9 a kadar olan sarı,
10 dan 19 a kadar olan kırmızı,
20 den 29 a kadar olan mavi,
30 dan 39 a kadar olan turuncu,

gibi olsun istiyorum, böyle birşey olabilir mi?

yardımlarınızı bekliyorum,
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Aşağıdaki kodları sayfanın VBE sayfasına kopyalayınız.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [a1:I3]) Is Nothing Then Exit Sub
For Each alan In [a1:I3]
Select Case alan.Value
Case 1 To 9
alan.Font.ColorIndex = 36
Case 10 To 19
alan.Font.ColorIndex = 3
Case 20 To 29
alan.Font.ColorIndex = 5
Case 30 To 39
alan.Font.ColorIndex = 45
Case 40 To 49
alan.Font.ColorIndex = 7
End Select
Next
End Sub
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,216
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
yanıt

Boşa gitmesin.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
For Each ren In Range("a1:I3")
ren.Interior.ColorIndex = 0
If ren > 0 And ren < 11 Then
ren.Interior.ColorIndex = 36
End If
If ren > 10 And ren < 21 Then
ren.Interior.ColorIndex = 3
End If
If ren > 20 And ren < 31 Then
ren.Interior.ColorIndex = 5
End If
If ren > 30 And ren < 41 Then
ren.Interior.ColorIndex = 45
End If
Next
End Sub
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,258
Excel Vers. ve Dili
Ofis 365 Türkçe
Gerçekten boşa gitmesin :)

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Select Case Target.Value
    Case Is < 10
        Target.Interior.ColorIndex = 6
    Case Is < 20
        Target.Interior.ColorIndex = 3
    Case Is < 30
        Target.Interior.ColorIndex = 5
    Case Is < 40
        Target.Interior.ColorIndex = 45
    Case Is < 50
        Target.Interior.ColorIndex = 31
End Select
End Sub
 

İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,104
Excel Vers. ve Dili
Excel, 365 - İngilizce
Merhaba arkadaşlar,
sitede baya bi aradım ama istediğim gibi birşey bulamadım,

ekteki örnekte olduğu gibi a1 ile ı3 hücreleri arasında 1 den 50 ye kadar sayılarım var. bunların her seferinde yerleri değişmekte,

şöyle birşey yapabilirmiyiz,
1 den 9 a kadar olan sarı,
10 dan 19 a kadar olan kırmızı,
20 den 29 a kadar olan mavi,
30 dan 39 a kadar olan turuncu,

gibi olsun istiyorum, böyle birşey olabilir mi?
yardımlarınızı bekliyorum,


Ekteki dosyayı inceleyin.

..
 
Katılım
13 Temmuz 2005
Mesajlar
345
Altın Üyelik Bitiş Tarihi
28.05.2019
Ekteki dosyayı inceleyin.

..
ilgi ve yardımlarınıza çok çok teşekkürler arkadaşlar,

gerçekten çok hızlı ve bol miktarda çözüm oldu,
paylaşma ve yardımlaşmanın gücü bu olsa gerek,

bilgi ve tecrübelerini paylaşan herkeze,
tekrar tekrar teşekkürler,
 
Katılım
13 Temmuz 2005
Mesajlar
345
Altın Üyelik Bitiş Tarihi
28.05.2019
arkadaşlar sorun çözüldü aslında ama yeni birşey istediler yapamadım,

1 den 9 a kadar olan sarı,
10 dan 19 a kadar olan kırmızı,
20 den 29 a kadar olan mavi,
30 dan 39 a kadar olan turuncu,

bu şekilde renklendirme oldu gayetde güzel çalışıyor, fakat bu hata gruplarından kaç tane var onu otomatik bulabilirmiyim?
en büyüğünü veya en küçüğünü bulabiliyorum ama,

kaç sarı hücre, 1 hata grubu
kaç kırmızı hücre 2 hata grubu gibi olsun istiyorum,

yapılabiliyorsa destek ve yardımlarınızı bekliyorum,

şimdiden teşekkürler,
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Kodlar&#305; a&#351;a&#287;&#305;daki &#351;ekilde de&#287;i&#351;tiriniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [a1:I3]) Is Nothing Then Exit Sub
a1 = 0: a2 = 0: a3 = 0: a4 = 0: a5 = 0
For Each alan In [a1:I3]
Select Case alan.Value
Case 1 To 9
alan.Font.ColorIndex = 36
a1 = a1 + 1
Case 10 To 19
alan.Font.ColorIndex = 3
a2 = a2 + 1
Case 20 To 29
alan.Font.ColorIndex = 5
a3 = a3 + 1
Case 30 To 39
alan.Font.ColorIndex = 45
a4 = a4 + 1
Case 40 To 49
alan.Font.ColorIndex = 7
a5 = a5 + 1
End Select
Next
[L2] = a1
[L3] = a2
[L4] = a3
[L5] = a4
[L6] = a5
End Sub
 
Katılım
13 Temmuz 2005
Mesajlar
345
Altın Üyelik Bitiş Tarihi
28.05.2019
Kodları aşağıdaki şekilde değiştiriniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [a1:I3]) Is Nothing Then Exit Sub
a1 = 0: a2 = 0: a3 = 0: a4 = 0: a5 = 0
For Each alan In [a1:I3]
Select Case alan.Value
Case 1 To 9
alan.Font.ColorIndex = 36
a1 = a1 + 1
Case 10 To 19
alan.Font.ColorIndex = 3
a2 = a2 + 1
Case 20 To 29
alan.Font.ColorIndex = 5
a3 = a3 + 1
Case 30 To 39
alan.Font.ColorIndex = 45
a4 = a4 + 1
Case 40 To 49
alan.Font.ColorIndex = 7
a5 = a5 + 1
End Select
Next
[L2] = a1
[L3] = a2
[L4] = a3
[L5] = a4
[L6] = a5
End Sub
çok teşekkürler sn. ripek
 
Üst