Tarih kontrollü Popup Mesaj

maskex

Altın Üye
Katılım
20 Nisan 2012
Mesajlar
76
Excel Vers. ve Dili
Ofis 365 TR 32 Bit
Altın Üyelik Bitiş Tarihi
17-11-2024
Merhabalar,

VBA'ta bir kod yazmaya çalışıyorum ama başaramadım.

Popup mesaj VBA'da gireceğim tarihe 4 gün kala "Bu excel dosyası xx gün sonra çalışmayacak" şeklinde mesaj versin istiyorum. Aşağıdaki gibi kod yazmaya çalıştım ama olmadı. Yapmak istediğim 4 günden itibaren 0 güne kadar bu mesaj çıksın. Eğer hedef tarih-today 0'dan küçük olursa da pop um mesajı çıktıktan sonra excel kendini kapatsın.

Sub auto_open()
hedef = CDate(3 / 11 / 2023)
bugun = CDate(Date)
kalan = Aktif - bugun
If kalan <= 4 Then
MsgBox "Bu excel" kalan & "gün sonra çalışmayacak"
End If
End Sub


Yardımınız için teşekkürler.
 

okan32

Altın Üye
Katılım
12 Mayıs 2016
Mesajlar
376
Excel Vers. ve Dili
Ofis 2019- 32 Bit - Türkçe
Altın Üyelik Bitiş Tarihi
16-04-2026
Kod:
Sub auto_Open()
    Dim tarih As Date
    Dim sonTarih As Date
    Dim mesaj As String
    tarih = Date
    sonTarih = "31.10.2023"
    If tarih + 4 >= sonTarih Then
        mesaj = "Bu excel dosyası " & sonTarih - tarih & " gün sonra çalışmayacak"
        MsgBox mesaj
    End If
End Sub
 
Son düzenleme:

maskex

Altın Üye
Katılım
20 Nisan 2012
Mesajlar
76
Excel Vers. ve Dili
Ofis 365 TR 32 Bit
Altın Üyelik Bitiş Tarihi
17-11-2024
Kod:
Sub auto_Open()
    Dim tarih As Date
    Dim sonTarih As Date
    Dim mesaj As String
    tarih = Date
    sonTarih = DateSerial(31.12.2023)
    If tarih + 4 >= sonTarih Then
        mesaj = "Bu excel dosyası " & sonTarih - tarih & " gün sonra çalışmayacak"
        MsgBox mesaj
    End If
End Sub
Merhabalar, yardımınız için teşekkürler.
Son tarih kırmızı görünüyor, çalıştırdığımda ise "syntax error" veriyor.
 

okan32

Altın Üye
Katılım
12 Mayıs 2016
Mesajlar
376
Excel Vers. ve Dili
Ofis 2019- 32 Bit - Türkçe
Altın Üyelik Bitiş Tarihi
16-04-2026

maskex

Altın Üye
Katılım
20 Nisan 2012
Mesajlar
76
Excel Vers. ve Dili
Ofis 365 TR 32 Bit
Altın Üyelik Bitiş Tarihi
17-11-2024
2 nolu mesajı düzenledim deneyiniz
Okan bey ilk halinde tarih aralarındaki . ları , yapınca çalıştı. Şimdi son işlem kaldı.

eğer aradaki fark 0 dan küçük ise popup mesaj "süre dolduğu için excel kapanacak" desin ve excel kapansın.

bunu nasıl ekleriz koda
 

maskex

Altın Üye
Katılım
20 Nisan 2012
Mesajlar
76
Excel Vers. ve Dili
Ofis 365 TR 32 Bit
Altın Üyelik Bitiş Tarihi
17-11-2024
Okan bey ilk halinde tarih aralarındaki . ları , yapınca çalıştı. Şimdi son işlem kaldı.

eğer aradaki fark 0 dan küçük ise popup mesaj "süre dolduğu için excel kapanacak" desin ve excel kapansın.

bunu nasıl ekleriz koda
Çözdüm, ihtiyacı olanlar için.

Sub auto_Open()
Dim tarih As Date
Dim sonTarih As Date
Dim mesaj As String
Dim Kontrol As Workbook

tarih = Date
sonTarih = DateSerial(2023, 11, 3)
If sonTarih - tarih < 0 Then
Mes = "Bu Excelin kullanim süresi doldu ve otomatik kapanacak."
MsgBox Mes
For Each Kontrol In Workbooks
Kontrol.Close savechanges:=True
Next Kontrol
ElseIf sonTarih - tarih >= 0 And sonTarih - tarih <= 4 Then
mesaj = "Bu excel dosyasi " & sonTarih - tarih & " gün sonra çalismayacak"
MsgBox mesaj
End If

End Sub
 
Üst