• DİKKAT

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

Tarih Gelince Otomatik Uyarı Vermesi

Katılım
14 Ağustos 2011
Mesajlar
212
Excel Vers. ve Dili
2019 TR
Her ayın 27 olunca uyarı verecek yedek alınması lazım diye ama ben 3 gün zarfı içinde programı kullanma şansım olacak ancak ayın 30 olunca yedek almadan kullandığım programı açma izni vermeyecek yedek almak için beni zorlayacak yedek aldıktan sonra programı kullanma izni verecek eğer yedek almazisem program kapanacak.
Kod:
Private Sub Workbook_Open()
tarih = DateSerial(Year(Date), Month(Date) + 1, 1) - 4
MsgBox "Yedek Almalısınız !!!", vbCritical + vbMsgBoxRtlReading
Else
MsgBox "Yedek Almaya Daha Zaman Var !!!", vbExclamation + vbMsgBoxRtlReading
End If
End Sub
kodlar alıntı fakat istediğim şekilde değiştiremedim.
 
Allah rızası için biri sorunuma çözüm bulsun lütfen.
 
Tarih

gönderdiğim dosyayı incelersiniz, B1 sütununa Her hangi bir ,ayın ,27 sini yazdığında mesaj veriyor Diğer günleri boş geçiyor.Elimden gelen benimde budur. "Allah rızası " dediğin ,için gönderiyorum.
 

Ekli dosyalar

Bir Dosya Eklerse bakabiliriz
 
Dosya iş yerinde benim istediğim her ayın 27 olunca uyarı vermeye başlayacak yedek alınması lazım diye.Son ayın 30 olunca yedek almam için beni zorlayacak yedek almadığım zaman programı kullanmama müsade etmeyecek ve kapanacak program.Eğer yedek alırsam program kullanmama müsade edecek.
 
Merhaba,

Yedek almayı nasıl yapıyorsunuz? Manuel olarak dosyayı yedek klasörüne kopyalama şeklinde mi?

.
 
Hayır kod ile yapıyorum buton yardımı ile yedek alıyorum.
 
Yedekleme almadan dosyayı çalıştırmak istemiyorsanız yedekleme kodunu dosyanın açılışına ekleyip eğer dosyanın yedeği yoksa belirlediğiniz tarihlerde yedeği otomatik almamamız daha doğru olmaz mı?

.
 
Otomatik almam daha iyi olur ama nasıl olacak bu peki hocam.
 
Otomatik almam daha iyi olur ama nasıl olacak bu peki hocam.

Kodları ThisWorkbook sayfasına kopyalayınız.

Kodlar açılışta çalışır.

Eğer yedeklenmesi gereken dosya yoksa yedekler varsa birşey yapmaz.

Detaylı deneme yapmadım, deneyip bilgi verirsiniz.

D klasörünün içinde Yedekler adında dosya olduğu düşünülmüştür. Sizdekiyle dosya adı ve yoluyla kırmızı satırı değiştirirsiniz.

Kod:
Private Sub Workbook_Open()
 
    Dim d() As String, dosya As String, uzantı As String, j As Byte
    Dim yedek As String, yol As String, tarih As String
 
    If Day(Date) < 27 Then j = 1 Else j = 0
    tarih = Format(DateSerial(Year(Date), Month(Date) - j, 1), "mmmmyy")
 
    With ActiveWorkbook
        d = Split(.Name, ".")
        uzantı = d(UBound(d))
 
        yedek = tarih & "." & uzantı
 
        [COLOR=red][COLOR=black]yol =[/COLOR] "D:\Yedekler\"[/COLOR]
 
        dosya = Dir(yol & yedek)
 
        If dosya = "" Then
            .SaveCopyAs yol & yedek
        End If
    End With
 
End Sub
.
 
Tamam hocam teşekkürler her ayın 27 sinde kendi otomatik yedek alacak demi hocam.
 
Çalışma şekli;

Gün 27 den küçük ise bulunduğumuz aydan bir önceki ayın yedeği varmı yok mu diye kontrol eder, eğer yoksa yedek alır varsa devam eder.

Gün 27 den büyük ve eşit ise bulunduğumuz ayın yedeği varmı yok mu diye kontrol eder, eğer yoksa yedek alır varsa devam eder.

Bu şekilde zaten sizin istediğiniz gibi 27 sinde dosyayı açarsanız ilgili ayın yedeğini alır eğer 27 sinde ofiste değilseniz 29 unda açarsanız yine ilgili ayın yedeğini alır. Aynı ay ismiyle yedek birkere alınmışsa bir daha almaz.

Kısaca sizin istediklerinizi yapıyor.

.
 
Rica ederim. Allah hepimizden razı olsun.
 
Geri
Üst