• DİKKAT

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

Kalan güne göre hücre renklendirme

  • Konbuyu başlatan Konbuyu başlatan eXLoRD
  • Başlangıç tarihi Başlangıç tarihi
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:)
 
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
 
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...
 
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
 
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 ?
 
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:)
 
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
 
tamam şuan o sorun halloldu fakat şuanda geçmiş tarihler kırmızı olmuyor:)
 
ben dediğimi hatırlıyorum ama yanlışta hatırlıyor olabilirim:)
 
Kodlara bakarak istediğinizi siz de kolaylıkla yapabilirsiniz... :) Biraz düşünmeniz yeter..
 
kolaysa deneyeyim bir gerçi kodlarla ilgili hiçbir bilgim yok fakat uğraşıcam :)
 
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:)
 
Rica ederim, iyi günler...
 
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?
 
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..
 
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
 
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...
 
Geri
Üst