• DİKKAT

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

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)
 
İlk önce uygulamak istediğiniz alanı seçin sonrasında koşullu biçimlendirme işlemi yapmayı deneyiniz.
 
???? ????
ç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...
 
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:
bu da güzel çalıştı baya pratik formül. ; yerine , yazarak...
 
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
 
Ç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.
 
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
 
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?
 
Ü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.
 
Geri
Üst