• DİKKAT

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

Koşullu Süzme ve mesaj verdirme !

Katılım
6 Eylül 2006
Mesajlar
52
Excel Vers. ve Dili
exel 2003 Türkçe
Merhaba Arkadaşlar;

B hücresindeki tarihden 7 gün geçenler ve C hücresindeki tarih boş olanların sıra nosunu isimlerini ve kaç gün geçtiklerini bildiren mesajı verdirmek istiyorum.

Kod:
Sub Auto_Open()
With Application
.Visible = True
For i = 1 To Sheets("Sayfa1").Range("C65536").End(3).Row
If Date + 7 > Cells(i, 3) Then
mesaj = "ÖDEME GÜNÜ GELENLER : " & vbCr
msj = msj & Cells(i, 1) & vbCr
End If
Next i
MsgBox mesaj & vbCr & msj
.Visible = True
'.Quit
ActiveWorkbook.Save
End With
End Sub

İlgilenen arkadaşlara şimdiden teşekkür ederim.
 

Ekli dosyalar

Merhaba,
Aşağıdaki kodu dener misiniz?
"... mesajı verdirmek istiyorum" dediğiniz ve örnek kodlarınızda msgbox kullandığınız için ben de kodları msgbox ile yaptım. Ancak bu tür uygulamalarda veri sayınız arttığında msgbox sorun çıkarabilir. Ayrıca daha düzgün bir görünüm için msgbox yerine UserForm kullanmanızı öneririm.
Kod:
Sub Auto_Open()
Mesaj = "ÖDEME GÜNÜ GEÇENLER : " & vbCr
MesajX = "GİDEN TARİH BOŞ OLANLAR : " & vbCr
For i = 2 To Sheets("Sayfa1").Range("C65536").End(3).Row
    Tarih = CDate(Cells(i, 3).Value)
    Vade = DateSerial(Year(Date), Month(Date), Day(Date) + 7)
    Gg = Vade - Tarih
    If Vade > Tarih Then
        msj = msj & Cells(i, 1).Value & "  " & Cells(i, 2).Value & "  " & Gg & " Gün geçmiş." & vbCr
    End If
    If Cells(i, 4).Value = "" Then msjX = msjX & Cells(i, 1).Value & "  " & Cells(i, 2).Value & vbCr
Next i
MsgBox Mesaj & vbCr & msj
MsgBox MesajX & vbCr & msjX
End Sub
 
Teşekkür ederim ellerinize sağlık,
Buradaki yapmak istediğim şey;
Gelen tarih 7 gün geçmiş olması,
Giden tarih boş olması,
Günün tarihi (güncel tarih) ile gelen tarih arasındaki farkın yazılması.
(1-Ahmet ÖRNEK 15 gün geçmiş) gibi

Önerinizdede haklısınız şuan için 20 kaydı geçmeyeceği için bu şekilde yeter diye düşünmüştüm. Alternatif sunduğunuz için teşekkür ederim.
 
Son düzenleme:
Yardım Edebilecek bir arkadaş varmı !!!!
 
Son düzenleme:
Merhaba,
Aşağıdaki kodu örnek dosyanızda bir modüle kopyalayarak dener misiniz?
Kod:
Sub Auto_Open()
Mesaj = "ÖDEME GÜNÜ GEÇENLER : " & vbCr
For i = 2 To Sheets("Sayfa1").Range("C65536").End(3).Row
    If Cells(i, 4).Value = "" Then
        Tarih = CDate(Cells(i, 3).Value)
        Vade = DateSerial(Year(Date), Month(Date), Day(Date) + 7)
        gg = (Vade - Tarih) - 7
        If Vade >= Tarih And gg >= 7 Then
            msj = msj & Cells(i, 1).Value & "   " & Cells(i, 2).Value & "   " & gg & "  Gün geçmiş." & vbCr
        End If
    End If
Next i
MsgBox Mesaj & vbCr & msj
End Sub
 
Çok teşekkür ederim. sağolun.......
 
Geri
Üst