Satır-Sütun Renklendirme

xternet

Altın Üye
Katılım
12 Kasım 2004
Mesajlar
455
Excel Vers. ve Dili
2010 Tr
Altın Üyelik Bitiş Tarihi
12-10-2028
Merhaba Arkadaşlar,

Bir konuda yardımınıza başvurmak istiyorum.
Örnek dosyadaki çalışmada göreceğiniz gibi yazılan kod gereği sayfa içerisinde tıklandığında belirli satır ve sütunlarda renk değişimi ile belirginleşme oluşuyor. Yalnız bu değişim sayfadaki her hücreye tıklandığında gerçekleşiyor.
Benim olmasını istediğim; bu değişimi sağlayan kodun sadece "F9:AK81" aralığında gerçekleşmesi.
Yani sadece bu aralıktaki hücrelere tıklandığında satır-sütun renklensin, bu alan dışında bir hücreye tıklandığında sayfada renk değişimi olmasın.

İlişkili bir başka konu; bu kodu sayfaya eklemeden önce notların yazıldığı beyaz hücrelerde koşullu biçimlendirme 44,5 in altında olan değerler kırmızı olarak görünüyordu. Ama artık yukarıdaki kod gereği bu kod iptal olmuş oldu. Bu koşulu yukarıdaki kodun içine yazarak yada daha farklı biçimde yeniden aktif hale getirebilirmiyiz.

Tüm arkadaşlara şimdiden teşekkür edeirm.
İyi çalışmalar.
 

Ekli dosyalar

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,701
Excel Vers. ve Dili
Excel 2019 Türkçe
Böyle deneyin.
Kod:
 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Satır As Range, Sütun As Range
    If Intersect(Target, Range("F9:AK81")) Is Nothing Then Exit Sub'Bu satırı ekledim.
    Set Satır = Range(Cells(ActiveCell.Row, 5), Cells(ActiveCell.Row, 37))
    Set Sütun = Range(Cells(8, ActiveCell.Column), Cells(81, ActiveCell.Column))
    
    Cells.FormatConditions.Delete
    
    If Application.CutCopyMode = xlCopy Or Application.CutCopyMode = xlCut Then Exit Sub
    
    With Satır
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, Formula1:=1
        .FormatConditions(1).Font.Bold = True
        .FormatConditions(1).Interior.ColorIndex = [C15]
    End With
    
    With Sütun
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, Formula1:=1
        .FormatConditions(1).Font.Bold = True
        .FormatConditions(1).Interior.ColorIndex = [C15]
    End With
    
    With ActiveCell
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, Formula1:=1
        .FormatConditions(1).Font.Bold = True
        .FormatConditions(1).Interior.ColorIndex = 2
    End With
End Sub
 

xternet

Altın Üye
Katılım
12 Kasım 2004
Mesajlar
455
Excel Vers. ve Dili
2010 Tr
Altın Üyelik Bitiş Tarihi
12-10-2028
Teşekkürler Sayın Hamitcan, zihninize sağlık.

Yalnız eklediğiniz kod ile istediğim gerçekleşiyor fakat son seçilen hücreye göre satır-sütun renklendirmeleri kalıyordu. Bende tahmin yürüterek;

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Satır As Range, Sütun As Range

Cells.FormatConditions.Delete' BU SATIRI EKLEDİM (xternet)

If Intersect(Target, Range("F9:AK81")) Is Nothing Then Exit Sub'Bu satırı ekledim.
Set Satır = Range(Cells(ActiveCell.Row, 5), Cells(ActiveCell.Row, 37))
Set Sütun = Range(Cells(8, ActiveCell.Column), Cells(81, ActiveCell.Column))

Cells.FormatConditions.Delete

If Application.CutCopyMode = xlCopy Or Application.CutCopyMode = xlCut Then Exit Sub

With Satır
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:=1
.FormatConditions(1).Font.Bold = True
.FormatConditions(1).Interior.ColorIndex = [C15]
End With

With Sütun
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:=1
.FormatConditions(1).Font.Bold = True
.FormatConditions(1).Interior.ColorIndex = [C15]
End With

With ActiveCell
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:=1
.FormatConditions(1).Font.Bold = True
.FormatConditions(1).Interior.ColorIndex = 2
End With
End Sub

şeklinde düzenledim ve işe yaradı.

Yalnız sorumda birde 2. kısım vardı. Acaba ona çözüm üretmek mümkün mü?
Yani bu kodla sayfadaki diğer koşullu biçimlendirmelerin etkilenmemesi yada istediğim biçimlendirmenin bu kodun içine yazılması?
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,701
Excel Vers. ve Dili
Excel 2019 Türkçe
Bu kodu da ekleyin.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Value <= 44.5 Then
    Target.Font.Color = vbRed
    Else
    Range("F9:AK81").Font.Color = vbBlack
    End If
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,191
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Aşağıdaki kodu denermisiniz.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Satır As Range, Sütun As Range, No_Alan As Range
 
    Cells.FormatConditions.Delete
 
    Set No_Alan = Range("H9:S68,V9:AH68")
 
    With No_Alan
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, Formula1:="=VE(H9>0;H9<44,5)"
        With .FormatConditions(1).Font
            .Color = -16383844
            .TintAndShade = 0
        End With
        With .FormatConditions(1).Interior
            .PatternColorIndex = xlAutomatic
            .Color = 13551615
            .TintAndShade = 0
        End With
        .FormatConditions(1).StopIfTrue = False
    End With
    If Intersect(Target, Range("F9:AK81")) Is Nothing Then Exit Sub
 
    Set Satır = Range(Cells(ActiveCell.Row, 6), Cells(ActiveCell.Row, 37))
    Set Sütun = Range(Cells(9, ActiveCell.Column), Cells(81, ActiveCell.Column))
 
    If Application.CutCopyMode = xlCopy Or Application.CutCopyMode = xlCut Then Exit Sub
 
    With Satır
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, Formula1:=1
        .FormatConditions(1).Font.Bold = True
        .FormatConditions(1).Interior.ColorIndex = [C15]
    End With
 
    With Sütun
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, Formula1:=1
        .FormatConditions(1).Font.Bold = True
        .FormatConditions(1).Interior.ColorIndex = [C15]
    End With
 
    With ActiveCell
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, Formula1:=1
        .FormatConditions(1).Font.Bold = True
        .FormatConditions(1).Interior.ColorIndex = 2
    End With
End Sub
 
Katılım
26 Ocak 2006
Mesajlar
304
Excel Vers. ve Dili
Excel 2007 tr
Altın Üyelik Bitiş Tarihi
12.06.2023
Teşekkürler
Hamitcan ve Korhan bey

Yb®
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Alternatif olarak şu kodları deneyebilirsiniz;

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    Dim kirmizi As Range
    If Intersect(Target, Range("F9:AK81")) Is Nothing Then _
    Range("F9:AK81").Interior.ColorIndex = 0: Exit Sub
    Range("F9:AK81").Interior.ColorIndex = 0
    Range("renk").Interior.ColorIndex = 20
    Set satir = Range("F" & Target.Row, "AK" & Target.Row)
    Set Sütun = Range(Cells(9, Target.Column), Cells(81, Target.Column))
    Set Evn = Union(satir, Sütun)
    Evn.Interior.ColorIndex = 37
    ActiveCell.Interior.ColorIndex = 0
    For Each kirmizi In Range("H9:S68,V9:AH68")
        If kirmizi.Value < 44.5 Then
           kirmizi.Font.ColorIndex = 3
            Else
           kirmizi.Font.ColorIndex = 0
        End If
    Next kirmizi
End Sub
 

Ekli dosyalar

xternet

Altın Üye
Katılım
12 Kasım 2004
Mesajlar
455
Excel Vers. ve Dili
2010 Tr
Altın Üyelik Bitiş Tarihi
12-10-2028
Tüm yanıtlar için teşekkür ederim arkadaşlar. Yalnız en çok işime yarayan Sayın Korhan Ayhan'ın çözümü. Bir tek değişmesi gereken hücre renginin kırmızı olması değilde yazı karakterinin kırmızı olması.
 

xternet

Altın Üye
Katılım
12 Kasım 2004
Mesajlar
455
Excel Vers. ve Dili
2010 Tr
Altın Üyelik Bitiş Tarihi
12-10-2028
Tekrar merhaba arkadaşlar.
Yukarıda istediğim sonucu elde ettim belki ama şu sorumun da cevabını bulamamak beni deli etti.

Aslında bu konu başlığındaki arayışın sebebi, daha önce excel 2003'de sorunsuz çalışan koşullu biçimlendirmenin 2010'da çalışmaması. İnanın deli oldum. Örnek dosya da not listesi var.
Notlara tıklandığında satırın başındaki isim ve numara biçim değiştirerek öne çıkıyor.
Buda benim işimi görüyor. Yalnız bu dediğim 2003 de oluyor. 2010 da çalışmıyor.
Çözemedim. Merak eden arkadaşlar bir göz atarsa sevinirim.

Sayfayı incelediğinizde arka planda;

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[BM9] = ActiveCell.Address
End Sub

kodunun çalıştığını ve BM9 hücresi ile ilişkili bir biçimlendirme olduğunu göreceksiniz.
 

Ekli dosyalar

Ö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
Tüm yanıtlar için teşekkür ederim arkadaşlar. Yalnız en çok işime yarayan Sayın Korhan Ayhan'ın çözümü. Bir tek değişmesi gereken hücre renginin kırmızı olması değilde yazı karakterinin kırmızı olması.
Merhaba,

Korhan bey'in eklediği kodlardaki, ".Color = 13551615" bu satırı pasif yapın.

'.Color = 13551615

Gibi.
--------------------------------------------------------------------------

excel 2003'de sorunsuz çalışan koşullu biçimlendirmenin 2010'da çalışmaması.
Yenileme promleminden dolayı kaynaklanıyor. Sayfadaki kodu aşağıdakiyle değiştirin.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
    Range("BM9") = ActiveCell.Address
 
    SendKeys "%^{F9}", True
 
End Sub
.
 

xternet

Altın Üye
Katılım
12 Kasım 2004
Mesajlar
455
Excel Vers. ve Dili
2010 Tr
Altın Üyelik Bitiş Tarihi
12-10-2028
Çok teşekkürler Sayın Ömer Bey.
Ciddi bir sorunumu çözdünüz. Zihninize sağlık.

Microsoft'a 2007 ile birlikte getirdiği köklü değişikliklerden dolayı çok kızmıştım
ve hala kızmaya devam ediyorum. Her ne kadar kullanım ve görsellik anlamında
güzel değişiklikler yapmış olsada şu uyum problemleri çok can sıkıcı.

Herkese iyi çalışmalar.
 

xternet

Altın Üye
Katılım
12 Kasım 2004
Mesajlar
455
Excel Vers. ve Dili
2010 Tr
Altın Üyelik Bitiş Tarihi
12-10-2028
Arkadaşlar yeniden merhaba,

Bu soruyu daha öncede sormuştum ama tam cevabı alamamıştım.
Yenilemem gerekirse;
Aşağıdaki kod ilgili hücrelerin şarta göre renklendirilmesini sağlıyor.
Yalnız ben hücrenin değil sadece yazı karakterinin renklenmesini istiyorum.
Nasıl bir düzenleme yapmak gerekir.
İlgilenecek arkadaşlara şimdiden teşekkür ederim.
Hayırlı sahurlar.



Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Satır As Range, Sütun As Range, No_Alan As Range

Cells.FormatConditions.Delete

Set No_Alan = Range("H9:S68,V9:AH68")

With No_Alan
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=VE(H9>0;H9<44,5)"
With .FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,191
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Aşağıdaki kodu deneyiniz.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim No_Alan As Range
 
    ActiveSheet.Unprotect "12345"
 
    Cells.FormatConditions.Delete
 
    Set No_Alan = Range("H9:S68,V9:AH68")
 
    With No_Alan
        .FormatConditions.Add Type:=xlExpression, Formula1:="=VE(H9>0;H9<44,5)"
        .FormatConditions(.FormatConditions.Count).SetFirstPriority
        With .FormatConditions(1).Font
            .Bold = True
            .Italic = False
            .Color = -16776961
            .TintAndShade = 0
        End With
    End With
 
    ActiveSheet.Protect "12345"
End Sub
 

xternet

Altın Üye
Katılım
12 Kasım 2004
Mesajlar
455
Excel Vers. ve Dili
2010 Tr
Altın Üyelik Bitiş Tarihi
12-10-2028
Çok teşekkür ederim Sayın Korhan Ayhan, zihninize sağlık.

İyi çalışmalar hekese...
 

xternet

Altın Üye
Katılım
12 Kasım 2004
Mesajlar
455
Excel Vers. ve Dili
2010 Tr
Altın Üyelik Bitiş Tarihi
12-10-2028
Merhaba Arkadaşlar,
Tam işi çözdüm diyorsun başka bir şey çıkıyor.
Dün gece tamam deyip bırakmıştım ama bugün çalışmaya sayfa koruması ekleyince kod hata vermeye başladı. Bu sorunu nasıl aşabilirim!

İyi çalışmalar, iyi iftarlar ...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,191
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Korumalı sayfalarda makrolar çalışmaz. Bu tarz detayları sorularınızı sorarken belirtmeniz gerekiyor. Ben üstteki mesajımdaki koda eklemeler yaptım. Kendinize göre düzenlersiniz.
 

xternet

Altın Üye
Katılım
12 Kasım 2004
Mesajlar
455
Excel Vers. ve Dili
2010 Tr
Altın Üyelik Bitiş Tarihi
12-10-2028
Teşekkür ederim Sayın Korhan Ayhan.
Söylediğinizde haklısınız. Ama ayrıntılar gözden kaçabiliyor.
Yada baştan ön göremediğiniz noktalar sonradan eklenince böyle oluyor.
Tekrar çok teşekkürler. Zihninize sağlık.
 
Üst