AY'a göre satır renklendirme

Katılım
17 Ağustos 2010
Mesajlar
5
Excel Vers. ve Dili
2007
Merhaba, bugün baya uğraştım, işin içinden çıkamadım.
Yapmak istediğim tarih sütunundaki ay bilgisine göre o satırı boyamak.
Mesela tarih 1 ocak 2020 ise , o satırı yeşile boyasın, tarih şubat ise boyamasın, mart ise boyasın...

Koşullu biçimlendirme ile aşağıdaki şekilde yaptım oldu, ancak biçim boyayıcı ile formülü çoğaltırken sorun oluşuyor, koşullu biçimlendirme yöneticisinde uygulama hedefinde $ işaretlerini kaldıramadığım için sağlıklı kopyalayamıyor... (uygulama hedefi 2. satır seçiyorum mesele, =$2:$2 olarak yazıyor, dolarları kaldıramıyorum...)
=EĞER(YADA(AY($A2)=1,AY($A2)=3,AY($A2)=5,AY($A2)=7,AY($A2)=9,AY($A2)=11),1,0)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İlk önce uygulamak istediğiniz alanı seçin sonrasında koşullu biçimlendirme işlemi yapmayı deneyiniz.
 
Katılım
17 Ağustos 2010
Mesajlar
5
Excel Vers. ve Dili
2007
???? ????
çok enteresan çalışıyor, ama formülleri kontrol ettiğimde çok saçma, çalışmaması gerekir gibi görünüyor...
mesela koşullu biçimlendirme formülünü 2 satırına uyguladım, biçim boyayıcısı ile 3. satırdan 365. satıra kadar yapıştırdım...
formülü hangi hücrede kontrol etsem A3 için yazılmış gibi görünüyor...
=EĞER(YADA(AY($A3)=1,AY($A3)=3,AY($A3)=5,AY($A3)=7,AY($A3)=9,AY($A3)=11),1,0)

ama çalışıyor her satırda. mesela 10. satırdaki tarihi değiştirince komple satırın rengi değişiyor.
nasıl çalıştığını anlamadım ama teşekkür ederim...
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
A2 Hücresinden itibaren(Tarih farklı hücreden başlıyor ise ona göre A2' leri değiştiriniz).Uygulama alanını seçiniz ve Koşullu biçimlendirme alanına aşağıdaki formülü kopyalayınız.Dolgu rengini yeşil yapınız.
Kod:
=VE(MOD(AY($A2);2)=1;$A2<>"")
 
Son düzenleme:
Katılım
17 Ağustos 2010
Mesajlar
5
Excel Vers. ve Dili
2007
bu da güzel çalıştı baya pratik formül. ; yerine , yazarak...
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
bu da güzel çalıştı baya pratik formül. ; yerine , yazarak...
Benim excel ayraç olarak ; kullanıyor.Sizde İngilizce de olduğu gibi , kullanılmış (; ler , ile değiştirilmeli).Dönüş yaptığınız için teşekkür ederim
 
Katılım
15 Haziran 2005
Mesajlar
125
Excel Vers. ve Dili
Office 2003 -TR
Office 2003 -ING
Office 2007 -ING
Altın Üyelik Bitiş Tarihi
29/11/2020
Çok güzel ellerinize sağlık..
Bir soruda ben sormak isterim.

TARİH sütununda farklı zamanlarda girilmiş tarihler var. Tarih sütununda tıkladığım tarihin aynısı olanları (ay olarak) renklendirmesini istesem, yapabilirmiyiz.
 

Korhan Ayhan

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

Sayfanızın kod bölümüne aşağıdaki kodu uygulayınız. Tarih sütunu olarak "A" sütununu kullandığınızı varsaydım. Hücre aralığını kendinize göre değiştirirsiniz.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Alan As Range, Tarih As Range, Renklenecek_Alan As Range
    
    If Intersect(Target, Range("A2:A" & Rows.Count)) Is Nothing Then Exit Sub
    If Application.CutCopyMode = xlCopy Or Application.CutCopyMode = xlCut Then Exit Sub
    
    Range("A2:A" & Rows.Count).Interior.ColorIndex = xlNone
    
    Set Alan = Range("A2:A" & Cells(Rows.Count, 1).End(3).Row)
    
    For Each Tarih In Alan
        If Tarih <> "" Then
            If Year(Tarih) = Year(Target) Then
                If Month(Tarih) = Month(Target) Then
                    If Renklenecek_Alan Is Nothing Then
                        Set Renklenecek_Alan = Tarih
                    Else
                        Set Renklenecek_Alan = Union(Renklenecek_Alan, Tarih)
                    End If
                End If
            End If
        End If
    Next
    
    If Not Renklenecek_Alan Is Nothing Then
        Renklenecek_Alan.Interior.ColorIndex = 6
    End If
End Sub
 
Katılım
15 Haziran 2005
Mesajlar
125
Excel Vers. ve Dili
Office 2003 -TR
Office 2003 -ING
Office 2007 -ING
Altın Üyelik Bitiş Tarihi
29/11/2020
Merhaba,

Sayfanızın kod bölümüne aşağıdaki kodu uygulayınız. Tarih sütunu olarak "A" sütununu kullandığınızı varsaydım. Hücre aralığını kendinize göre değiştirirsiniz.

Kod:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Alan As Range, Tarih As Range, Renklenecek_Alan As Range
   
    If Intersect(Target, Range("A2:A" & Rows.Count)) Is Nothing Then Exit Sub
   
    Range("A2:A" & Rows.Count).Interior.ColorIndex = xlNone
   
    Set Alan = Range("A2:A" & Cells(Rows.Count, 1).End(3).Row)
   
    For Each Tarih In Alan
        If Year(Tarih) = Year(Target) Then
            If Month(Tarih) = Month(Target) Then
                If Renklenecek_Alan Is Nothing Then
                    Set Renklenecek_Alan = Tarih
                Else
                    Set Renklenecek_Alan = Union(Renklenecek_Alan, Tarih)
                End If
            End If
        End If
    Next
   
    If Not Renklenecek_Alan Is Nothing Then
        Renklenecek_Alan.Interior.ColorIndex = 6
    End If
End Sub

Teşekkürler, zahmetiniz için ama kopyaladığımda hata mesajı verdi.

Peki bunu tarih yerine uzun bir personel listesinde görevleri aynı olanlar için yapabilir miyim?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Üstte ki mesajımda ki kodu revize ettim. Büyük ihtimalle hata vermeyecektir.

Diğer sorunuza gelince döngü için IF sorgularını değiştirerek istediğiniz şekilde sonuç alabilirsiniz.

Ben tarih sorgusunda hem ay bilgisini hem de yıl bilgisini sorgulamıştım. Bu sebeple ikili bir IF sorgusu kullandım. Siz sadece görev sorgulayacaksanız IF'leri azaltarak devam edebilirsiniz.
 
Üst