OTOMATIK RENKLENDİRME

smt

Katılım
19 Mayıs 2019
Mesajlar
17
Excel Vers. ve Dili
2016 tr
Merhabalar,

aşağıdaki örnek tablomda fatura numarasına göre hat bl beyanname no satırlarını sırayla sarı ve yeşil ile renklendirmek istiyorum ayrıca dekont numaralarının ilk satırını da sarıya boyamak istiyorum bu listeler binlerce satıra kadar uzuyor bunu otomatik olarak yapmam için yardımcı olabilir misiniz.

ÖRNEK LİSTE.xlsx - 10 KB
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
637
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Kod:
Sub BeyannameRenklendirme()

    Dim ws As Worksheet
    Dim lastRow As Long
    Dim cell As Range
    Dim faturaNo As String
    Dim renk As Long
    Dim renkDönüşümü As Boolean
    Dim faturaNumaraları As Object
   
    Set ws = ThisWorkbook.ActiveSheet
   
    lastRow = ws.Cells(ws.Rows.Count, "E").End(xlUp).Row
   
    renkDönüşümü = True
   
    Set faturaNumaraları = CreateObject("Scripting.Dictionary")
   
    For Each cell In ws.Range("E2:E" & lastRow)
        faturaNo = cell.Value
       
        If Len(faturaNo) > 0 Then
            If Not faturaNumaraları.exists(faturaNo) Then
                If renkDönüşümü Then
                    renk = RGB(255, 255, 0)
                Else
                    renk = RGB(0, 255, 0)
                End If
               
                ws.Range("A" & cell.Row & ":E" & cell.Row).Interior.Color = renk
               
                faturaNumaraları.Add faturaNo, 1
               
                renkDönüşümü = Not renkDönüşümü
            Else
               
                ws.Range("A" & cell.Row & ":D" & cell.Row).Interior.Color = renk
            End If
        End If
    Next cell

End Sub
Bu kod, her yeni fatura numarası için E sütunundaki ilk hücreyi renklendirir ve ardından aynı fatura numarasına sahip diğer satırlar için A:D arasındaki hücreleri boyar. Bu şekilde renkler sırasıyla sarı ve yeşil olarak geçiş yapar. Umarım bu çözüm işinize yarar
 
Son düzenleme:

smt

Katılım
19 Mayıs 2019
Mesajlar
17
Excel Vers. ve Dili
2016 tr
Kod:
Sub BeyannameRenklendirme()

    Dim ws As Worksheet
    Dim lastRow As Long
    Dim cell As Range
    Dim beyannameNo As String
    Dim sarıEboyandı As Boolean
    Dim yeşilEboyandı As Boolean
   
    Set ws = ThisWorkbook.ActiveSheet
   
    lastRow = ws.Cells(ws.Rows.Count, "D").End(xlUp).Row
   
    sarıEboyandı = False
    yeşilEboyandı = False

    For Each cell In ws.Range("D2:D" & lastRow)
        beyannameNo = cell.Value
       
        If Len(beyannameNo) > 0 Then
            Select Case UCase(Left(beyannameNo, 1))
                Case "B", "D", "F", "H", "J", "L", "N", "P", "R", "T", "V", "X", "Z"
                    cell.Offset(0, -3).Resize(1, 4).Interior.Color = RGB(255, 255, 0)
                   
                    If Not sarıEboyandı Then
                        cell.Offset(0, 1).Interior.Color = RGB(255, 255, 0)
                        sarıEboyandı = True
                        yeşilEboyandı = False
                    End If
                   
                Case "C", "E", "G", "I", "K", "M", "O", "Q", "S", "U", "W", "Y"
                    cell.Offset(0, -3).Resize(1, 4).Interior.Color = RGB(0, 255, 0)
                   
                    If Not yeşilEboyandı Then
                        cell.Offset(0, 1).Interior.Color = RGB(0, 255, 0)
                        yeşilEboyandı = True
                        sarıEboyandı = False
                    End If
                   
                Case Else
                    cell.Offset(0, -3).Resize(1, 4).Interior.ColorIndex = -4142
                    cell.Offset(0, 1).Interior.ColorIndex = -4142
                    sarıEboyandı = False
                    yeşilEboyandı = False
            End Select
        End If
    Next cell

End Sub
Bu kod, her renklendirme türü için sadece ilk satırın E sütunundaki hücreyi boyayacak ve ardından diğer satırlardaki hücreler renklendirmeye devam edilecektir. Umarım bu çözüm işinize yarar
Hocam öncelikle çok teşekkür ederim ,ancak verileri değiştirdiğimde kod çalışmadı örnek 2 listeyi ekliyorum müsait olunca bakarsanız çok sevinirim
ÖRNEK LİSTE-2.xlsx - 10 KB
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
637
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
verdiğin 1.örnekte kriter beyanname numarasına göre tanzim edilmiştir.
2.örnekte böyle bir kriter yokki bu çözüm uygulansın hangi krirete göre renklendirme yapsınki.
 

smt

Katılım
19 Mayıs 2019
Mesajlar
17
Excel Vers. ve Dili
2016 tr
verdiğin 1.örnekte kriter beyanname numarasına göre tanzim edilmiştir.
2.örnekte böyle bir kriter yokki bu çözüm uygulansın hangi krirete göre renklendirme yapsınki.
hocam aslında ben ilk mesajımda yazmıştım fatura numarasına göre renklendirme yapılması için kriter fatura numarasına göre olması gerekiyor aslında fatura numarası değiştikçe renk de değişmesi gerekiyor
 
Üst