Tarihe göre hücre renklendirme

ganiyu

Altın Üye
Katılım
21 Aralık 2016
Mesajlar
47
Excel Vers. ve Dili
Office Professional Plus 2019 Türkçe
Altın Üyelik Bitiş Tarihi
02-03-2025
Merhaba,

Basit bir rezervasyon listesi yapmak istiyorum.
GENEL sayfasındaki verilere göre ilgili ayın sayfasında renklendirme yapılacak.

Ekli dosyadaki örneğe göre bunu nasıl yaparım?
Teşekkürler.
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,297
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Örnek dosyanıza göre :
D5:AGxx alanı seçilerek
Koşullu Biçimlendirme Formül :
Kod:
=VE(D$4>=DOLAYLI("GENEL!G"&KAÇINCI($B5;GENEL!$I:$I;0));D$4<=DOLAYLI("GENEL!H"&KAÇINCI($B5;GENEL!$I:$I;0)))
Not : Aynı numara ile birden fazla oda no da çalışmaz
 

ganiyu

Altın Üye
Katılım
21 Aralık 2016
Mesajlar
47
Excel Vers. ve Dili
Office Professional Plus 2019 Türkçe
Altın Üyelik Bitiş Tarihi
02-03-2025
Merhaba Necdet bey,
Öncelikle teşekkür ederim.
Aynı oda numarasıyla birden fazla çalışmasını ve her tarih aralığının farklı renk olmasının çözümü var mıdır?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,297
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba Sayın ganiyu,
Birden fazla oda olması mantık olarak doğru, bunu fonksiyon ile çözümü mutlaka vardır ama benim bilgim yetmedi.
Bakalım ofisin yeni fonksiyonları ile çözüm olabilir mi? bir arkadaş ilgilenirse bende öğrenmiş olurum.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,297
Excel Vers. ve Dili
Ofis 365 Türkçe
Tekrar merhaba,
Makro olarak isterseniz aşağıdaki kodları deneyiniz.

Kod:
Sub Deneme()
    
Dim i   As Long
Dim j   As Long
Dim bsCol As Integer
Dim btCol As Integer

Dim c   As Range


btCol = Sayfa2.Range("B4").End(xlToRight).Column

i = Sayfa2.Cells(Rows.Count, "B").End(3).Row
If i < 5 Then i = 5

Sayfa2.Range(Sayfa2.Cells(5, 4), Sayfa2.Cells(i, btCol)).Interior.Pattern = xlNone

For i = 5 To Sayfa1.Cells(Rows.Count, "B").End(3).Row
    j = 0
    On Error Resume Next
    j = Application.WorksheetFunction.Match(Sayfa1.Range("I" & i), Sayfa2.Columns("B:B"), 0)
    On Error GoTo 0
    If j > 0 Then
        bsCol = Sayfa1.Cells(i, "G") - Sayfa2.Range("D4") + 4
        btCol = bsCol + Sayfa1.Cells(i, "H") - Sayfa1.Cells(i, "G")
        Sayfa2.Range(Sayfa2.Cells(j, bsCol), Sayfa2.Cells(j, btCol)).Interior.ColorIndex = bsCol
    End If
Next i

End Sub
Not : Kodlarda geçen Sayfa1 ve Sayfa2, sayfa indisleridir. Sheets("GENEL") yerine Sayfa1, Sheets("HAZIRAN") yerine de Sayfa2. kullandım.
 

ganiyu

Altın Üye
Katılım
21 Aralık 2016
Mesajlar
47
Excel Vers. ve Dili
Office Professional Plus 2019 Türkçe
Altın Üyelik Bitiş Tarihi
02-03-2025
Tekrar merhaba,
Makro olarak isterseniz aşağıdaki kodları deneyiniz.

Kod:
Sub Deneme()
   
Dim i   As Long
Dim j   As Long
Dim bsCol As Integer
Dim btCol As Integer

Dim c   As Range


btCol = Sayfa2.Range("B4").End(xlToRight).Column

i = Sayfa2.Cells(Rows.Count, "B").End(3).Row
If i < 5 Then i = 5

Sayfa2.Range(Sayfa2.Cells(5, 4), Sayfa2.Cells(i, btCol)).Interior.Pattern = xlNone

For i = 5 To Sayfa1.Cells(Rows.Count, "B").End(3).Row
    j = 0
    On Error Resume Next
    j = Application.WorksheetFunction.Match(Sayfa1.Range("I" & i), Sayfa2.Columns("B:B"), 0)
    On Error GoTo 0
    If j > 0 Then
        bsCol = Sayfa1.Cells(i, "G") - Sayfa2.Range("D4") + 4
        btCol = bsCol + Sayfa1.Cells(i, "H") - Sayfa1.Cells(i, "G")
        Sayfa2.Range(Sayfa2.Cells(j, bsCol), Sayfa2.Cells(j, btCol)).Interior.ColorIndex = bsCol
    End If
Next i

End Sub
Not : Kodlarda geçen Sayfa1 ve Sayfa2, sayfa indisleridir. Sheets("GENEL") yerine Sayfa1, Sheets("HAZIRAN") yerine de Sayfa2. kullandım.
Çok teşekkür ederim.
 

Korhan Ayhan

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

1 ay içinde aynı oda için 7 farklı konaklama tanımlayarak formülle çözüm ürettim. Aynı tarihlere gelen konaklamalar için uyarı amaçlı KIRMIZI dolgu rengi kullandım.

Formüller performans açısından 1000 satırlık veri için kurgulanmıştır.
 

Ekli dosyalar

ganiyu

Altın Üye
Katılım
21 Aralık 2016
Mesajlar
47
Excel Vers. ve Dili
Office Professional Plus 2019 Türkçe
Altın Üyelik Bitiş Tarihi
02-03-2025
@Necdet bey,
Konaklama geceye göre olduğu için;
Hücreleri giriş tarihinden başlayıp, çıkış tarihinden 1 gün önce olacak şekilde renklendirme yapabilir miyiz?
Örneğin giriş :1 çıkış:5 Temmuz ise; 1-4 Temmuz hücreleri renkli olacak.
Teşekkürler.
 

ganiyu

Altın Üye
Katılım
21 Aralık 2016
Mesajlar
47
Excel Vers. ve Dili
Office Professional Plus 2019 Türkçe
Altın Üyelik Bitiş Tarihi
02-03-2025
Merhaba,

1 ay içinde aynı oda için 7 farklı konaklama tanımlayarak formülle çözüm ürettim. Aynı tarihlere gelen konaklamalar için uyarı amaçlı KIRMIZI dolgu rengi kullandım.

Formüller performans açısından 1000 satırlık veri için kurgulanmıştır.
@korhan Aydın bey çok teşekkür ederim. Elinize sağlık. Harika olmuş.
 
Üst