Koşullu biçimlendirme

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,660
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Altın Üyelik Bitiş Tarihi
18-03-2025
Merhaba sayın hocalarım
ekli dosyada sorumu ilettim
 

Ekli dosyalar

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,393
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Dosyanız eklediğiniz resimdeki gibi karışık bir yapıya sahipse kanaatimce makrolu çözüm daha uygun olacaktır.
Yine de denemek isteseniz aşağıdaki gibi bir çözüm önerebilirim.
C10'dan başlayan tablonuz için deneyiniz...
Kod:
=VE(TEKMİ(EĞERSAY(KAYDIR($C10;0;0;-3);$C10));--SAĞDAN($C10;1)<>TOPLA(KAYDIR($C10;0;2;EĞER($C10=$C11;2;1))))
 

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,660
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Altın Üyelik Bitiş Tarihi
18-03-2025
255122
çözüm doğru ben mavi renle biçimlendirdim fakat A5 olan yerin altındaki A5 olan yerde renklense yada B4 lerin ilki renklendi ama altındaki de renklense
 

Muzaffer Ali

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

Örnek dosyada C10:F17 aralığını seçip koşullu biçimlendirme formül kısmına aşağıdaki formülü kopyalayın.
Kod:
=ÇOKEĞER($C10=$C9;SAYIYAÇEVİR( SAĞDAN($C10;1))<>$E9+$E10;$C10=$C11;SAYIYAÇEVİR( SAĞDAN($C10;1))<>$E11+$E10;$C10<>$C11;SAYIYAÇEVİR( SAĞDAN($C10;1))<>$E10)
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,393
Excel Vers. ve Dili
2007 Türkçe
Bu örnek için mümkün, ancak ilk mesajınızda paylaştığınız dosyada aynı kodlu veriler birden çok sayıda alt alta gelmiş. Örneğin L4 10 defa alt alta gelmiş. Bu şekilde problem çıkma ihtimali yüksektir.
Deneyiniz...
Kod:
=YADA(VE(TEKMİ(EĞERSAY(KAYDIR($C10;0;0;-3);$C10));--SAĞDAN($C10;1)<>TOPLA(KAYDIR($C10;0;2;EĞER($C10=$C11;2;1))));VE(ÇİFTMİ(EĞERSAY(KAYDIR($C10;0;0;-3);$C10));--SAĞDAN($C10;1)<>TOPLA(KAYDIR($C10;0;2;-2))))
 

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,660
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Altın Üyelik Bitiş Tarihi
18-03-2025
teşekkür ederim çözüm için
255126
4 lü veriler böyle sağ doğru devam ediyo koşullu biçimlendirmeyi diğerleri içinde doğru çalışması için nasıl yapmalıyız
biz ilk 4 lü grup için koşul yaptık
 

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,660
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Altın Üyelik Bitiş Tarihi
18-03-2025
6 nolu mesajımdaki gibidir dosyamın bütünü,
ben çözümlemeyi anlamak uygulamak adına basite indirgeyerek sordum ama en genel çözüm için 6 nolu mesajımdaki gibi düşünülmesi gerekiyo verilerin
 
Son düzenleme:

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,206
Excel Vers. ve Dili
2019 Türkçe
Çözüm için hangi değerlerin(L4'lerin) birbiri ile grup olduğunu bilmek gerekiyor.
Formül ile biçimlendirmelerin durumu kontrol edilemediğinden kutuların-çizgilerin bir anlamı yok.

Kod ile yapılabilir isterseniz.
Olur derseniz üstte fotosunu paylaştığınız listeyi Excel ile paylaşınız
 

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,660
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Altın Üyelik Bitiş Tarihi
18-03-2025
kod ile çözüm kullanabilirim
karelaj çok uzun zaten hatalı veri yazdım mı diye renklerin beni uyarması gerekiyor

bu gibi 5-6 farklı çalışma daha var
gelecek kod da diğerlerine göre dönüştürmeyi deneyeceğim

ekli dosyada her sırada benzersiz verilerle ilgili çözümlemelerde bulunmaktadır belki çözüme katkısı olur
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,206
Excel Vers. ve Dili
2019 Türkçe
Deneyin.
Tablonuz "ES18:US42" aralığında olduğu için bu alanı baz aldım.
Kod:
Sub Test()
    Dim Alan As Range
    Dim Bak As Range
    Dim Renk As Long
    Renk = ColorConstants.vbGreen
    Set Alan = Range("ES18:US42")
    Alan.Interior.Pattern = xlNone
   
    For Each Bak In Alan
        If Not IsNumeric(Bak) Then
            If Bak.Borders(xlEdgeTop).LineStyle = 1 And Bak.Borders(xlEdgeBottom).LineStyle = 1 Then
                If IsNumeric(Right(Bak, 1)) Then
                    If Val(Right(Bak, 1)) <> Bak(1, 3) Then
                        Bak.Resize(1, 4).Interior.Color = Renk
                    End If
                Else
                    If Bak(1, 3) <> 0 Then
                        Bak.Resize(1, 4).Interior.Color = Renk
                    End If
                End If
            ElseIf Bak.Borders(xlEdgeTop).LineStyle = 1 And Bak(2, 1).Borders(xlEdgeBottom).LineStyle = 1 Then
                If Val(Right(Bak, 1)) <> (Bak(1, 3) + Bak(2, 3)) Then
                    Bak.Resize(2, 4).Interior.Color = Renk
                End If
            End If
        End If
    Next
End Sub
 

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,660
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Altın Üyelik Bitiş Tarihi
18-03-2025
255129
makro çalışınca hatalı verileri buldu
çözüm için teşekkürler
makrolu kaydettikten sonra herhangi bir veriyi değişip enter dediğimde otomatik renklenmiyo makroyu yeniden çalıştırınca renklenme oluyo
 
Son düzenleme:

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,206
Excel Vers. ve Dili
2019 Türkçe
Sayfanın kod kısmına kopyalayın.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Alan As Range
    Dim Bak As Range
    Dim Renk As Long
    Set Alan = Range("ES18:US42")
    If Not Intersect(Alan, Target) Is Nothing Then
        Renk = ColorConstants.vbGreen
        Alan.Interior.Pattern = xlNone
        For Each Bak In Alan
            If Not IsNumeric(Bak) Then
                If Bak.Borders(xlEdgeTop).LineStyle = 1 And Bak.Borders(xlEdgeBottom).LineStyle = 1 Then
                    If IsNumeric(Right(Bak, 1)) Then
                        If Val(Right(Bak, 1)) <> Bak(1, 3) Then
                            Bak.Resize(1, 4).Interior.Color = Renk
                        End If
                    Else
                        If Bak(1, 3) <> 0 Then
                            Bak.Resize(1, 4).Interior.Color = Renk
                        End If
                    End If
                ElseIf Bak.Borders(xlEdgeTop).LineStyle = 1 And Bak(2, 1).Borders(xlEdgeBottom).LineStyle = 1 Then
                    If Val(Right(Bak, 1)) <> (Bak(1, 3) + Bak(2, 3)) Then
                        Bak.Resize(2, 4).Interior.Color = Renk
                    End If
                End If
            End If
        Next
    End If
End Sub
 
Üst