Koşullu Biçimlendirme

Katılım
4 Mart 2019
Mesajlar
1
Excel Vers. ve Dili
2007 Türkçe
Merhabalar...

Excel'i orta düzeyde bildiğimi düşünüyorum. Şimdi anlatacağım konuda takıldım. Yardımlarınız için şimdiden teşekkür ederim.

Örneğin A sütununda açıklama, B ve C sütununda sayılar olan bir tablomuz var. Her satırda, her iki sayıdan küçük olanın bulunduğu hücreyi yeşil ile, büyük olanın bulunduğu hücreyi kırmızı ile boyamak istiyorum. (kırmızıya boyamam şart değil, küçüğü yeşile boyasam yeter). Koşullu biçimlendirmede "küçüktür" seçince değer girebiliyor, ya da bir hücre seçebiliyoruz. Hücre seçerek yandaki hücreyi gösterip istediğimi elde edebiliyorum, ancak satır sayısı çok olunca bu işlemi her satır için tekrarlamak çok zor. Bunu yapabilmenin kısa ve kolay bir yolu var mıdır?

Teşekkürler...
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,513
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Excelde formüller ve diğer yerleşik özellikler çok kolaylık sağlamaktadır. Fakat formül ve koşullu biçimlendirme gibi diğer yerleşik özellikler excelde çok fazla hücrede kullanıldığında dosya şişmekte, yavaş açılmakta ve dosya yavaş çalışmaktadır. Artı olarak her hücreye ayrı ayrı özellik eklemek fazla vakit ve emek kaybına neden olabilmektedir.

Bu aşamada arka planda çalışan makrolar devreye girmektedir.
Çok basitten çok kompleks ve karışık uygulamalara kadar bir çok alternatif tercih için makro yazabilir yada yazılmış makroları dosyanıza alıp uygulayabilirsiniz.

Aşağıdaki Kod bloğu, yukarda #1 numaralı mesajınızdaki talebinizi dosyanızı yormadan karşılayan makro kodunu barındırmaktadır.

Aşağıdaki makro kodunu dosyanızda ilgili yere eklediğinizde, dosyanızda talebinize uygun sonuçlar üretilecektir.

Selamlar...

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 2 Or Target.Column = 3 Then

    sonb = Cells(Rows.Count, 2).End(3).Row
    sonc = Cells(Rows.Count, 3).End(3).Row
  
    maxbc = sonb
    If maxbc < sonc Then maxbc = sonc
  
    For i = 1 To maxbc
  
        If Len(Trim(Cells(i, 2))) > 0 And Len(Trim(Cells(i, 3))) > 0 Then
  
            If Cells(i, 2) < Cells(i, 3) Then
          
                Cells(i, 2).Interior.Color = RGB(100, 255, 150)
                Cells(i, 3).Interior.Color = RGB(255, 100, 0)
              
            ElseIf Cells(i, 2) > Cells(i, 3) Then
          
                Cells(i, 3).Interior.Color = RGB(100, 255, 150)
                Cells(i, 2).Interior.Color = RGB(255, 100, 0)
              
            Else
          
                Cells(i, 3).Interior.Color = xlNone
                Cells(i, 2).Interior.Color = xlNone
          
            End If
          
        End If
  
    Next

End If

End Sub
 
Üst