• DİKKAT

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

Ödeme tarihi geçince uyarı verecek.

Katılım
26 Ekim 2016
Mesajlar
25
Excel Vers. ve Dili
2013 excel,
LibreOffice
Merhabalar..

Ekte sunmuş olduğum excel tablosunda kişilerin taksitlendirilmiş borcu var. Burada bu taksit zamanı geçtiğinde ödeme yapmamışsa hata verecek. Nasil yapabilirim ?

Şuan listede az kişi görüyorsunuz ama bu liste bayağı uzun bir liste.

Alakanız için şimdiden teşekkür ederim.
 

Ekli dosyalar

Yatırılan tutar, ödenecek tutardan az ise yatırılan tutar hücresi kırmızı olur.
Yatırılan tutar, ödenecek tutardan çok ise yatırılan tutar hücresi yeşil olur.
Yatırılan tutar, ödenecek tutare eşit ise yatırılan tutar hücresi beyaz olur.

Ödeme tarihi , bugün den küçük ise hücre rengi kırmızı olur.
Ödeme tarihi , bugün den büyük yada eşit ise hücre rengi beyaz olur.

Kodlar ödeme tarihi ve yatırılan tutarlar değiştiğinde kotrolü sağlar.

Sayfanın adı üzerinde sağ tuş yapıp kod görüntüle deyip konu çıkan sayfaya yapıştırın.


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Intersect(Target, Range("G:G")) Is Nothing Then Exit Sub
    satir = Target.Row
    If satir Mod 3 <> 0 Then GoTo tarihkontrol
    yatirilan = 0 + Target.Value
    odenecek = 0 + Cells(satir - 1, "G").Value
    odemetarihi = CDate(Cells(satir - 2, "G").Value)
    bugun = Date
    If odemetarihi < bugun Then
       Cells(satir - 2, "G").Interior.Color = 255
    Else
       Cells(satir - 2, "G").Interior.Pattern = xlNone
    End If
    
    If yatirilan < odenecek Then
       Cells(satir, "G").Interior.Color = 255
    ElseIf yatirilan > odenecek Then
       Cells(satir, "G").Interior.Color = 5296274
    Else
       Cells(satir, "G").Interior.Pattern = xlNone
    End If
    
tarihkontrol:
    If satir Mod 4 <> 0 Then Exit Sub
    
    If CDate(Target.Value) < Date Then
       Cells(satir, "G").Interior.Color = 255
    Else
       Cells(satir, "G").Interior.Pattern = xlNone
    End If
End Sub
 
Merhaba,
Alternatif olsun.
Kod:
Sub odenmeyen_taksitler()
Dim sh As Worksheet, ss As Long, x As Long, d As Integer, i As Long, hcr As Range, tarih As Date
Set sh = Sheets("Sayfa1")
ss = sh.Range("F56789").End(3).Row
For i = 4 To ss Step 3
     x = sh.Cells(i, 256).End(xlToLeft).Column
    If x >= 7 Then
        Set hcr = sh.Range(Cells(i, 7), sh.Cells(i, x))
        hcr.Interior.ColorIndex = xlNone
     For d = 7 To x
        tarih = CDate(Cells(i, d).Value)
        If CDate(Date) > tarih And sh.Cells(i + 1, d).Value <> "" Then
            If sh.Cells(i + 2, d) = "" Or sh.Cells(1 + 2, d) < sh.Cells(i + 1, d) Then
                sh.Cells(i, d).Interior.ColorIndex = 3
            End If
        End If
     Next d
    End If
Next i
MsgBox "Ödenmeyen taksitlerin tarihleri kırmızı ile renklendirildi", vbInformation, "antonio"
End Sub
 
Yatırılan tutar, ödenecek tutardan az ise yatırılan tutar hücresi kırmızı olur.
Yatırılan tutar, ödenecek tutardan çok ise yatırılan tutar hücresi yeşil olur.
Yatırılan tutar, ödenecek tutare eşit ise yatırılan tutar hücresi beyaz olur.

Ödeme tarihi , bugün den küçük ise hücre rengi kırmızı olur.
Ödeme tarihi , bugün den büyük yada eşit ise hücre rengi beyaz olur.

Kodlar ödeme tarihi ve yatırılan tutarlar değiştiğinde kotrolü sağlar.

Sayfanın adı üzerinde sağ tuş yapıp kod görüntüle deyip konu çıkan sayfaya yapıştırın.


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Intersect(Target, Range("G:G")) Is Nothing Then Exit Sub
    satir = Target.Row
    If satir Mod 3 <> 0 Then GoTo tarihkontrol
    yatirilan = 0 + Target.Value
    odenecek = 0 + Cells(satir - 1, "G").Value
    odemetarihi = CDate(Cells(satir - 2, "G").Value)
    bugun = Date
    If odemetarihi < bugun Then
       Cells(satir - 2, "G").Interior.Color = 255
    Else
       Cells(satir - 2, "G").Interior.Pattern = xlNone
    End If
    
    If yatirilan < odenecek Then
       Cells(satir, "G").Interior.Color = 255
    ElseIf yatirilan > odenecek Then
       Cells(satir, "G").Interior.Color = 5296274
    Else
       Cells(satir, "G").Interior.Pattern = xlNone
    End If
    
tarihkontrol:
    If satir Mod 4 <> 0 Then Exit Sub
    
    If CDate(Target.Value) < Date Then
       Cells(satir, "G").Interior.Color = 255
    Else
       Cells(satir, "G").Interior.Pattern = xlNone
    End If
End Sub

Makro bilgim çok kotu. Denedim ancak sadece G Sutunu için bakıyor. Ayırca yatırılan kısıma birşey yazmadıktan sonra tarihleri kontol etmiyor. Diğer sutunlar içinde ekleme yapayım dedim kodda ama dediğim gibi makro bilgim çok kotu çalıştıramadım öyle olunca. debugger hatası verdi hep.

Merhaba,
Alternatif olsun.
Kod:
Sub odenmeyen_taksitler()
Dim sh As Worksheet, ss As Long, x As Long, d As Integer, i As Long, hcr As Range, tarih As Date
Set sh = Sheets("Sayfa1")
ss = sh.Range("F56789").End(3).Row
For i = 4 To ss Step 3
     x = sh.Cells(i, 256).End(xlToLeft).Column
    If x >= 7 Then
        Set hcr = sh.Range(Cells(i, 7), sh.Cells(i, x))
        hcr.Interior.ColorIndex = xlNone
     For d = 7 To x
        tarih = CDate(Cells(i, d).Value)
        If CDate(Date) > tarih And sh.Cells(i + 1, d).Value <> "" Then
            If sh.Cells(i + 2, d) = "" Or sh.Cells(1 + 2, d) < sh.Cells(i + 1, d) Then
                sh.Cells(i, d).Interior.ColorIndex = 3
            End If
        End If
     Next d
    End If
Next i
MsgBox "Ödenmeyen taksitlerin tarihleri kırmızı ile renklendirildi", vbInformation, "antonio"
End Sub

Sizinde kodunuzu çalıştıramadım. Çalışmadı :S
 
Kod:
Denedim ancak sadece G Sutunu için bakıyor.
Tarih ve yapılan ödeme G sütununda başka bir yerde işlem yapmasımı gerekiyor ki.

Kod:
Ayırca yatırılan kısıma birşey yazmadıktan sonra tarihleri kontol etmiyor.
Evet, tüm kontroller o anda giriş sırasında ve o müşteri için yapılır.

Dosyayı ve işlemleri siz yaptığınız için çalışma mantığını biliyor olabilirsiniz.
Ancak benim dosyadan ve yazdıklarınızdan anladığım kadarı ile yapabildiğim bu.

Daha doğru bir sonuç için daha açıklayıcı bilgiler vermeniz tam olarak işlemin nasıl gerçekleştiğini anlatmanız gerekir.
 
Dosyanız ektedir.

Kod:
Denedim ancak sadece G Sutunu için bakıyor.
Tarih ve yapılan ödeme G sütununda başka bir yerde işlem yapmasımı gerekiyor ki.

Kod:
Ayırca yatırılan kısıma birşey yazmadıktan sonra tarihleri kontol etmiyor.
Evet, tüm kontroller o anda giriş sırasında ve o müşteri için yapılır.

Dosyayı ve işlemleri siz yaptığınız için çalışma mantığını biliyor olabilirsiniz.
Ancak benim dosyadan ve yazdıklarınızdan anladığım kadarı ile yapabildiğim bu.

Daha doğru bir sonuç için daha açıklayıcı bilgiler vermeniz tam olarak işlemin nasıl gerçekleştiğini anlatmanız gerekir.


Teşekkürler ilginiz için. Çok sağolun
 
Geri
Üst