• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

tarihe göre koşullu biçimlendirme

Katılım
25 Mart 2024
Mesajlar
36
Excel Vers. ve Dili
Excel® LTSC MSO (Sürüm 2408 Derleme 16.0.17932.20360) 64 bit
merhabalar. P sütununda isimlerin yer aldığı listem var. hemen sağında Q sütununda da izinli olduğu tarih var. ben bu isimleri C ve J sütununda göreve atıyorum. istediğim şey Q sütunundaki tarih bugünden büyük veya eşit ise C ve J sütununda ismi seçtiğimde isim kırmızı dolgu olsun. yapmak istediğim izinli olan kişiyi göreve atarsam kırmızı dolgu ile uyarı almak yardımcı olursanız sevinirim.
 
VBA ile yapmak isterseniz

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Long
    Dim sonSatir As Long
    Dim izinTarihi As Date

    Application.EnableEvents = False

    ' Son dolu satırı bul
    sonSatir = Cells(Rows.Count, "P").End(xlUp).Row

    For i = 2 To sonSatir
        If IsDate(Cells(i, "Q").Value) Then
            izinTarihi = Cells(i, "Q").Value
            If izinTarihi >= Date Then
                ' Q sütunundaki tarih bugünden büyük veya eşitse C:J aralığını kırmızıya boya
                Range("C" & i & ":J" & i).Interior.Color = RGB(255, 0, 0)
            Else
                ' Değilse renklendirmeyi kaldır
                Range("C" & i & ":J" & i).Interior.ColorIndex = xlNone
            End If
        Else
            ' Tarih geçerli değilse renklendirmeyi kaldır
            Range("C" & i & ":J" & i).Interior.ColorIndex = xlNone
        End If
    Next i

    Application.EnableEvents = True
End Sub
 
Eğer bir kişiyi C veya J sütununda göreve atarsanız ve bu kişi P sütununda yer alıyorsa ve Q sütunundaki tarihi bugünün tarihi veya daha ileri bir tarihse, C veya J hücresine dolgu rengi çıkacaktır
 

Ekli dosyalar

VBA ile yapmak isterseniz

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Long
    Dim sonSatir As Long
    Dim izinTarihi As Date

    Application.EnableEvents = False

    ' Son dolu satırı bul
    sonSatir = Cells(Rows.Count, "P").End(xlUp).Row

    For i = 2 To sonSatir
        If IsDate(Cells(i, "Q").Value) Then
            izinTarihi = Cells(i, "Q").Value
            If izinTarihi >= Date Then
                ' Q sütunundaki tarih bugünden büyük veya eşitse C:J aralığını kırmızıya boya
                Range("C" & i & ":J" & i).Interior.Color = RGB(255, 0, 0)
            Else
                ' Değilse renklendirmeyi kaldır
                Range("C" & i & ":J" & i).Interior.ColorIndex = xlNone
            End If
        Else
            ' Tarih geçerli değilse renklendirmeyi kaldır
            Range("C" & i & ":J" & i).Interior.ColorIndex = xlNone
        End If
    Next i

    Application.EnableEvents = True
End Sub
hocam bu makro bende çalışmadı karmaşık bir biçimlendirme yaptı. eğer ve düşeyara formülünü içiçe kullanarak yapamaz mıyız
 
Eğer bir kişiyi C veya J sütununda göreve atarsanız ve bu kişi P sütununda yer alıyorsa ve Q sütunundaki tarihi bugünün tarihi veya daha ileri bir tarihse, C veya J hücresine dolgu rengi çıkacaktır
hocam altın üye değilim dosya indirmeme izin verilmiyor
 
258303
258305



c ve j sutunlarına uygulayınız
 

Ekli dosyalar

  • 1752133713164.png
    1752133713164.png
    28.2 KB · Görüntüleme: 1
Kod:
=VE(C2<>""; EĞERSAY(P:P;C2)>0; İNDİS(Q:Q;KAÇINCI(C2;P:P;0))>=BUGÜN())

=VE(J2<>""; EĞERSAY(P:P;J2)>0; İNDİS(Q:Q;KAÇINCI(J2;P:P;0))>=BUGÜN())
 
Kod:
=VE(C2<>""; EĞERSAY(P:P;C2)>0; İNDİS(Q:Q;KAÇINCI(C2;P:P;0))>=BUGÜN())

=VE(J2<>""; EĞERSAY(P:P;J2)>0; İNDİS(Q:Q;KAÇINCI(J2;P:P;0))>=BUGÜN())
ELİNİZE SAĞLIK HOCAM İSTEDİĞİM GİBİ OLDU
 
Geri
Üst