• DİKKAT

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

Zaman ayarlı makro çalıştırmak.

Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Merhaba arkadaşlar.
Aşağıdaki makronun belirlenen bir tarihte çalışması için nasıl bir makro yazılabilir.
Örnek: Aşağıdaki kodda saat1 de tanımlanan tarihten bir ay önce çalışmaya başlasın.
Kod:
Private Sub Workbook_Open()
Dim saat1 As Date
Dim saat2 As Date
Dim su
saat1 = "04/02/2011" 
saat2 = Date
If saat2 > saat1 Then
su = MsgBox("Süreniz dolmuş üzgünüm.", vbInformation + vbOKOnly, "SÜRE BİLDİRİMİ * S.S *")

ActiveWorkbook.Close
ActiveWorkbook.Save
End If
su = MsgBox(" Kullanım için " & saat1 - saat2 & " gününüz kalmıştır.", vbInformation + vbOKOnly, "SÜRE BİLDİRİMİ * S.S *")

If saat1 = saat2 Then
su = MsgBox("Bu gün SON GÜN. Programı kullanmaya devam etmek için Email gönderiniz veya Telefon numarasını arayınız.                                                  e-posta: abc@hotmail.com, Tel: 0506 1234567", vbInformation + vbOKOnly, "SÜRE BİLDİRİMİ * S.S *")
End If
End Sub
 
Selam,
Aşağıdaki gibi yapınız.
Kod:
Private Sub Workbook_Open()
Dim saat1 As Date
Dim saat2 As Date
Dim su
saat1 = "04/02/2011"
saat2 = Date
If saat2 > saat1 Then
su = MsgBox("Süreniz dolmuş üzgünüm.", vbInformation + vbOKOnly, "SÜRE BİLDİRİMİ * S.S *")

ActiveWorkbook.Close
ActiveWorkbook.Save
ElseIf saat1 = saat2 Then
su = MsgBox("Bu gün SON GÜN. Programı kullanmaya devam etmek için Email gönderiniz veya Telefon numarasını arayınız." _
& vbLf & vbLf & "e-posta: abc@hotmail.com, Tel: 0506 1234567", vbInformation + vbOKOnly, "SÜRE BİLDİRİMİ * S.S *")

ElseIf saat2 > (saat1 - 30) Then

su = MsgBox(" Kullanım için " & saat1 - saat2 & " gününüz kalmıştır.", vbInformation + vbOKOnly, "SÜRE BİLDİRİMİ * S.S *")
End If
'30 sayısı kaç gün kala uyarı vermesini istediğiniz gün sayısıdır.


End Sub

İyi çalışmalar.
 
yalnız ben belirtiğim hücrelerin içeriği silinsin demiştim yani temizlesin demek istiyorum tşk ediyorum
 
Selam,
Aşağıdaki gibi yapınız.
Kod:
Private Sub Workbook_Open()
Dim saat1 As Date
Dim saat2 As Date
Dim su
saat1 = "04/02/2011"
saat2 = Date
If saat2 > saat1 Then
su = MsgBox("Süreniz dolmuş üzgünüm.", vbInformation + vbOKOnly, "SÜRE BİLDİRİMİ * S.S *")

ActiveWorkbook.Close
ActiveWorkbook.Save
ElseIf saat1 = saat2 Then
su = MsgBox("Bu gün SON GÜN. Programı kullanmaya devam etmek için Email gönderiniz veya Telefon numarasını arayınız." _
& vbLf & vbLf & "e-posta: abc@hotmail.com, Tel: 0506 1234567", vbInformation + vbOKOnly, "SÜRE BİLDİRİMİ * S.S *")

ElseIf saat2 > (saat1 - 30) Then

su = MsgBox(" Kullanım için " & saat1 - saat2 & " gününüz kalmıştır.", vbInformation + vbOKOnly, "SÜRE BİLDİRİMİ * S.S *")
End If
'30 sayısı kaç gün kala uyarı vermesini istediğiniz gün sayısıdır.


End Sub

İyi çalışmalar.

Teşekkür ederim Ergün hocam.
Ancak şöyle bir durum var. Sistem saatinin geri alınması durumunda program tekrar çalışmaya başlayacaktır.Böyle bir ihtimale karşın ne düşünürsünüz lütfen paylaşırmısınız.
 
Teşekkür ederim Ergün hocam.
Ancak şöyle bir durum var. Sistem saatinin geri alınması durumunda program tekrar çalışmaya başlayacaktır.Böyle bir ihtimale karşın ne düşünürsünüz lütfen paylaşırmısınız.
selam,
Ben hoca değil, sizler gibi bu siteden istifadeye çalışan birisiyim. Ancak şunu kesin söyleyebilirim ki;
siz istediğinizi yapın, başka biri dosyayı açarken makrolar etkinleştirlmediği zaman, dosya üzerinde istediği işlemi zaten yapabilir. Bu olmassa bile yine bu sitedeki üstadlardan öğrendiğimiz kadarıyla, excel dosyalarına (şifreli-şifresiz- makrolu-makrosuz) isteyen her türlü müdahaleyi yapabilir. Sistem saatini değiştirmesine de gerek kalmaz. dikkat ederseniz sizin yazdığınız kodlarda zaten sistemin zamanını referans alıyor. yanlışsa yanlış alır doğru ise doğru alıyor.
siz yinede altyernatif çözümler araştırınız. Bulabilirseniz paylaşırsınız.

İyi çalışmalar.
 
selam,
Ben hoca değil, sizler gibi bu siteden istifadeye çalışan birisiyim. Ancak şunu kesin söyleyebilirim ki;
siz istediğinizi yapın, başka biri dosyayı açarken makrolar etkinleştirlmediği zaman, dosya üzerinde istediği işlemi zaten yapabilir. Bu olmassa bile yine bu sitedeki üstadlardan öğrendiğimiz kadarıyla, excel dosyalarına (şifreli-şifresiz- makrolu-makrosuz) isteyen her türlü müdahaleyi yapabilir. Sistem saatini değiştirmesine de gerek kalmaz. dikkat ederseniz sizin yazdığınız kodlarda zaten sistemin zamanını referans alıyor. yanlışsa yanlış alır doğru ise doğru alıyor.
siz yinede altyernatif çözümler araştırınız. Bulabilirseniz paylaşırsınız.

İyi çalışmalar.

Ergün bey mütevaziliğinize teşekkür ederim.
Şahsen ben excelde formül ve makrolarda tabiri caizse daha eğitimin elif-ba sını öğrenirken siz liseyi bitirmiş sayılırsınız, bu sebeple size hocam demek bana gurur verir.
 
elinize sağlık çok tşk ederim
 
Geri
Üst