Soru Koşullu Biçimlendirme Makro

leonadies

Excel Derya Deniz Bizde Kulaç Atmaya Çalışıyoruz:)
Altın Üye
Katılım
12 Şubat 2015
Mesajlar
520
Excel Vers. ve Dili
Office 2016 TR 64 Bit Windows
Altın Üyelik Bitiş Tarihi
01-02-2027
Merhaba Üstadlar;
K5;BA1000 aralığındaki hücrelere 1,2,3....10 a kadar sayılar giriyorum.

Bu aralığa girdiğim hersayıda 1 yazan hücreler yeşil, 2 yazanlar kırmızı , 3 yazanlar ..... şeklinde değişik renkler yapmam gerekiyor.

K5;BA1000 aralığında bu hücrelere bu kuralı makro ile yapabilirmiyiz?
Not: bu aralıkta sayılar değişebiliyor. Dolayısıyla her seferinde ilk dolgu yok makrosu daha sonra bu kural çalışmalı.

Koşullu biçilendirme yapmak istemiyorum. Makro ile lazım. Teşekkürler
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Deneyiniz. Kodların içindeki şartlar ve renk kodlarını kendinize göre düzenlersiniz.
Kod:
Sub test()
   
    Dim alan As Range, d(), r(), hcr As Range, i As Byte
   
    Set alan = Range("K5:BA1000")
   
    alan.Interior.ColorIndex = xlNone
   
    d = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 'şartlar
    r = Array(4, 3, 5, 8, 14, 16, 20, 19, 24, 56) 'renk kodları
   
    For Each hcr In alan
        If hcr <> "" Then
            For i = 0 To UBound(d)
                If d(i) = hcr Then
                    hcr.Interior.ColorIndex = r(i)
                    Exit For
                End If
            Next i
        End If
    Next hcr
   
End Sub

Renk kodlarının tablosunu linkten görebilirsiniz.

 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Aşağıdaki kodu sayfanın kod kısmına kopyalayın.
Ben 4'e kadar yaptım siz istediğiniz rakama kadar çoğaltabilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("K5;BA100")) Is Nothing Then
        Select Case Target
        Case 1
            Target.Interior.ColorIndex = 3
        Case 2
            Target.Interior.ColorIndex = 46
        Case 3
            Target.Interior.ColorIndex = 5
        Case 4
            Target.Interior.ColorIndex = 8
           
        End Select
    End If
End Sub
Renk kodları aşağıdaki gibidir.

232629
 
Son düzenleme:

leonadies

Excel Derya Deniz Bizde Kulaç Atmaya Çalışıyoruz:)
Altın Üye
Katılım
12 Şubat 2015
Mesajlar
520
Excel Vers. ve Dili
Office 2016 TR 64 Bit Windows
Altın Üyelik Bitiş Tarihi
01-02-2027
Merhaba,

Deneyiniz. Kodların içindeki şartlar ve renk kodlarını kendinize göre düzenlersiniz.
Kod:
Sub test()
 
    Dim alan As Range, d(), r(), hcr As Range, i As Byte
 
    Set alan = Range("K5:BA1000")
 
    alan.Interior.ColorIndex = xlNone
 
    d = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 'şartlar
    r = Array(4, 3, 5, 8, 14, 16, 20, 19, 24, 56) 'renk kodları
 
    For Each hcr In alan
        If hcr <> "" Then
            For i = 0 To UBound(d)
                If d(i) = hcr Then
                    hcr.Interior.ColorIndex = r(i)
                    Exit For
                End If
            Next i
        End If
    Next hcr
 
End Sub



Renk kodlarının tablosunu linkten görebilirsiniz.


Üstadım ellerinize sağlık :)
 

leonadies

Excel Derya Deniz Bizde Kulaç Atmaya Çalışıyoruz:)
Altın Üye
Katılım
12 Şubat 2015
Mesajlar
520
Excel Vers. ve Dili
Office 2016 TR 64 Bit Windows
Altın Üyelik Bitiş Tarihi
01-02-2027
Merhaba.

Aşağıdaki kodu sayfanın kod kısmına kopyalayın.
Ben 4'e kadar yaptım siz istediğiniz akama kadar çoğaltabilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("K5;BA100")) Is Nothing Then
        Select Case Target
        Case 1
            Target.Interior.ColorIndex = 3
        Case 2
            Target.Interior.ColorIndex = 46
        Case 3
            Target.Interior.ColorIndex = 5
        Case 4
            Target.Interior.ColorIndex = 8
          
        End Select
    End If
End Sub
Renk kodları aşağıdaki gibidir.

Ekli dosyayı görüntüle 232629

Ellerinize sağlık buda çok güzel :) Başka arkdşlarada faydalı olması dileğiyle
 
Üst