Kalan güne göre hücre renklendirme

Katılım
6 Temmuz 2012
Mesajlar
44
Excel Vers. ve Dili
2003/Türkçe
Teşekkür Ederim verdiğiniz video sayesinde hallettim tekrar teşekkür ederim kod ve her şey için biraz uğraştırdım kusura bakmayın artık:)
 
Katılım
6 Temmuz 2012
Mesajlar
44
Excel Vers. ve Dili
2003/Türkçe
yalnız bir şey fark ettim onuda halledebilirsek süper olucak geriye doğru sayıyor bügün mesela ayın 7'si 6'sında 1 gün kaldı diyor 8'inde zamanı geldi diyor tam tersi olması gerekmez mi 8'inde 1 gün kaldı deyip 6'sında zamanı geldi demesi gerekmez mi?:D
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Yine olmazsa, belki tarihlerde yanlış işlem yapıyor olabilirim.

If VBA.Date - Cells(i, "G") = 3 Then satırını ve diğer =2 - = 1 satırlarını aşağıdaki gibi değiştirip bir deneyiniz;
If Cells(i, "G") - VBA.Date = 3 Then

Hücredeki tarihten bugünkü tarihi çıkaralım...
17. mesajda bu konudan bahsetmiştim...
 
Katılım
6 Temmuz 2012
Mesajlar
44
Excel Vers. ve Dili
2003/Türkçe
yeni kodun şu şekilde olması gerekmiyor mu?


Sub Emre()
Dim i As Integer
For i = 2 To Range("E65536").End(3).Row
If Cells(i, "G") - VBA.Date = 3 Then
Cells(i, "I") = "3 gün kaldı"
Cells(i, "G").Interior.ColorIndex = 6
ElseIf Cells(i, "G") - VBA.Date = 2 Then
Cells(i, "I") = "2 gün kaldı"
Cells(i, "G").Interior.ColorIndex = 43
ElseIf Cells(i, "G") - VBA.Date = 1 Then
Cells(i, "I") = "1 gün kaldı"
Cells(i, "G").Interior.ColorIndex = 45
ElseIf VBA.Date = Cells(i, "G") Then
Cells(i, "I") = "Zamanı geldi"
Cells(i, "G").Interior.ColorIndex = 3
End If
Cells(i, "A") = i - 1
Next i
i = Empty
End Sub
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Evet, dediğim gibi, hücredeki tarihten bugünkü tarihi çıkarmamız daha doğru. Yani o şekilde olması gerekiyor...

Bu şekilde denediniz ama hata mı aldınız ?
 
Katılım
6 Temmuz 2012
Mesajlar
44
Excel Vers. ve Dili
2003/Türkçe
Evet, dediğim gibi, hücredeki tarihten bugünkü tarihi çıkarmamız daha doğru. Yani o şekilde olması gerekiyor...

Bu şekilde denediniz ama hata mı aldınız ?
hayır hata almadım fakat 2 gün geçtiğindede 2 gün kaldı yazıyor 2 gün kaldığındada 2 gün kaldı diyor:)
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
söylediğiniz şekilde yapmıştım fakat hata almıştım tekrar deneyeyim
Hata aldım dediğiniz için tekrar sordum. Kodu söylediğim şekilde düzeltip denemişsiniz hata almışsınız, şimdi yine aynı kodu deniyorsunuz hayır hata almadım diyorsunuz. Yani kafa karışıklığı yaratıyorusunuz. Buna dikkat edin lütfen.

Şimdiye kadar, eğer böyleyse böyle böyle yap, yok böyleyse böyle yap diye şart koyduk.
Şimdi de, değilse diyerek olayı düzeltmemiz gerek..

İlave edilecek satırlar;
Kod:
Else
        Cells(i, "I") = ""
        Cells(i, "G").Interior.ColorIndex = 0
Kodun son hâli şu şekilde olmalı;
Kod:
Sub Emre()
 Dim i As Integer
 For i = 2 To Range("E65536").End(3).Row
    If Cells(i, "G") - VBA.Date = 3 Then
        Cells(i, "I") = "3 gün kaldı"
        Cells(i, "G").Interior.ColorIndex = 6
    ElseIf Cells(i, "G") - VBA.Date = 2 Then
        Cells(i, "I") = "2 gün kaldı"
        Cells(i, "G").Interior.ColorIndex = 43
    ElseIf Cells(i, "G") - VBA.Date = 1 Then
        Cells(i, "I") = "1 gün kaldı"
        Cells(i, "G").Interior.ColorIndex = 45
    ElseIf VBA.Date = Cells(i, "G") Then
        Cells(i, "I") = "Zamanı geldi"
        Cells(i, "G").Interior.ColorIndex = 3
    Else
        Cells(i, "I") = ""
        Cells(i, "G").Interior.ColorIndex = 0
    End If
    Cells(i, "A") = i - 1
 Next i
 i = Empty
End Sub
 
Katılım
6 Temmuz 2012
Mesajlar
44
Excel Vers. ve Dili
2003/Türkçe
tamam şuan o sorun halloldu fakat şuanda geçmiş tarihler kırmızı olmuyor:)
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Olsun dediniz mi ?
 
Katılım
6 Temmuz 2012
Mesajlar
44
Excel Vers. ve Dili
2003/Türkçe
ben dediğimi hatırlıyorum ama yanlışta hatırlıyor olabilirim:)
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Kodlara bakarak istediğinizi siz de kolaylıkla yapabilirsiniz... :) Biraz düşünmeniz yeter..
 
Katılım
6 Temmuz 2012
Mesajlar
44
Excel Vers. ve Dili
2003/Türkçe
kolaysa deneyeyim bir gerçi kodlarla ilgili hiçbir bilgim yok fakat uğraşıcam :)
 
Katılım
6 Temmuz 2012
Mesajlar
44
Excel Vers. ve Dili
2003/Türkçe
haklsınız çok kolaymış 2 yeri değiştirmek ile tamamen hallolacak bir şey sağolun hocam elinize sağlık 2 gündür bayağı kafanızı şişirdim teşekkür ederim tekrar:)
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Rica ederim, iyi günler...
 
Katılım
6 Temmuz 2012
Mesajlar
44
Excel Vers. ve Dili
2003/Türkçe
Rica ederim, iyi günler...
Hocam son bir şey daha bu sondaki satırı değiştirerek yapabildim süresi geçmiş olanların kırmızı olmasını öyle yapınca da süresinin dolmasına 3günden fazla kalanlarda kırmızı oluyor bunu nasıl halledebiliriz yani 3 günden fazla olanlar hiçbir şey olmayacak şekilde?
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Son satırı değiştirerek yaptım dediğiniz kodlar nasıl ? :dusun: Ne yaptınız da 3 günden fazla olanlar da kırmızı oldu..
Kodların tamamını da tekrar bir göreyim..
 
Katılım
6 Temmuz 2012
Mesajlar
44
Excel Vers. ve Dili
2003/Türkçe
Sub Emre()
Dim i As Integer
For i = 2 To Range("E65536").End(3).Row
If Cells(i, "G") - VBA.Date = 3 Then
Cells(i, "I") = "3 gün kaldı"
Cells(i, "G").Interior.ColorIndex = 6
ElseIf Cells(i, "G") - VBA.Date = 2 Then
Cells(i, "I") = "2 gün kaldı"
Cells(i, "G").Interior.ColorIndex = 43
ElseIf Cells(i, "G") - VBA.Date = 1 Then
Cells(i, "I") = "1 gün kaldı"
Cells(i, "G").Interior.ColorIndex = 45
ElseIf VBA.Date = Cells(i, "G") Then
Cells(i, "I") = "Zamanı geldi"
Cells(i, "G").Interior.ColorIndex = 3
Else
Cells(i, "I") = ""
Cells(i, "G").Interior.ColorIndex = 3
End If
Cells(i, "A") = i - 1
Next i
i = Empty
End Sub
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
1.si; yazdığınz kodları #
Kod:
 tagı içerisine alın...
2. si; son satırı değiştirerek yapabildim dediğiniz kodları istiyorum.

Aynı kodları neden gönderiyorsunuz ? 
Daha önce de aynısını yaptınız, bir dediğiniz de diğerini tutmamaya başladı. 
Amacınızı anlamadım, beni uğraştırmak mı istiyorsunuz ? :dusun: 

Sizin için sakıncası yoksa uzak masaüstü ile bağlanıp çözebiliriz. 
Aksi hâlde, sorunuzla ve sizinle daha fazla vakit kaybetmek istemiyorum... 

İyi günler...
 
Üst