• DİKKAT

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

Makro ile Renklendirme

Katılım
13 Temmuz 2005
Mesajlar
345
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,
 
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
 
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
 
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
 
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.

..
 
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,
 
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
 
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
 
Geri
Üst