• DİKKAT

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

31.12.2010 - saat 23:59 da excel çalışmasın.

Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Günaydın arkadaşlar.
Hazırladığım excel sayfası için, 31.12.2010 tarihi saat 23.59 dan sonra belgenin açılmaması için bir makroya ihtiyacım var. Benzer konular muhakkak forumda vardır, ancak farklı başlıklarda veya farklı konular içerisinde işlendiğinden benzer kod bulamdım.
Yardımlarınızı bekliyorum.
 
Merhaba,

Aşağıdaki kodu ThisWorkbook'un kod bölümüne kopyalayınız.


Kod:
Private Sub Workbook_Open()
If Date > DateSerial(2010, 12, 31) Then ThisWorkbook.Close SaveChanges:=False
End Sub
 
Merhaba;

Alternatif olarak aşağıdaki kodu sayfanızın Thisworkbook kısmına yazın
Kod:
Option Explicit
Private Sub Workbook_Open()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    If Date >= CDate("05.11.2010") And Time >= "08:59:00" Then
    Application.ThisWorkbook.Save
    Application.Quit
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
   End If
End Sub
 
Merhaba;

Alternatif olarak aşağıdaki kodu sayfanızın Thisworkbook kısmına yazın
Kod:
Option Explicit
Private Sub Workbook_Open()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    If Date >= CDate("05.11.2010") And Time >= "08:59:00" Then
    Application.ThisWorkbook.Save
    Application.Quit
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
   End If
End Sub

Hocam makroya;
"Kullanım süreniz dolmuştur." mesajını verdirip, belgeyi kaydetmeden önce de Sayfa2'yi silerek kaydetmesini yaptırabilirmiyiz.
 
Hocam makroya;
"Kullanım süreniz dolmuştur." mesajını verdirip, belgeyi kaydetmeden önce de Sayfa2'yi silerek kaydetmesini yaptırabilirmiyiz.

Merhaba;
Kod:
Option Explicit
Private Sub Workbook_Open()
[COLOR=red]    On Error Resume Next
[/COLOR]    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    If Date >= CDate("31.12.2010") And Time >= "23:59:00" Then
   [COLOR=red]MsgBox "Kullanım süreniz dolmuştur !", vbCritical, "Sn : " & Application.UserName[/COLOR]
    [COLOR=red]Sheets("Sayfa2").Delete[/COLOR]
    Application.ThisWorkbook.Save
    Application.Quit
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
   End If
End Sub
şeklinde düzenleyiniz.
 
Merhaba;
Kod:
Option Explicit
Private Sub Workbook_Open()
[COLOR=red]    On Error Resume Next
[/COLOR]    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    If Date >= CDate("31.12.2010") And Time >= "23:59:00" Then
   [COLOR=red]MsgBox "Kullanım süreniz dolmuştur !", vbCritical, "Sn : " & Application.UserName[/COLOR]
    [COLOR=red]Sheets("Sayfa2").Delete[/COLOR]
    Application.ThisWorkbook.Save
    Application.Quit
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
   End If
End Sub
şeklinde düzenleyiniz.
Üstat tekrar teşekkür ederim.
Şöyle bir sorun çıkmaktadır.
Belirlenen sürenin bitiminde dosya açıldığında sayfa2 silinmektedir, ancak dosyayı ikinci kez çalıştırılınca sayfa2 silindiği için kod hatası üretilmekte ve sayfa kapatılamamaktadır. Bunun için şöyle kurgulama yapılabilirmi.
Kod:
Sheets("Sayfa2").Delete
den önce Sayfa2'nin varlığı sorgulansın, varsa silerek dosya kapatılsın, yoksa silmeden kapatılsın.
 
Üstat tekrar teşekkür ederim.
Şöyle bir sorun çıkmaktadır.
Belirlenen sürenin bitiminde dosya açıldığında sayfa2 silinmektedir, ancak dosyayı ikinci kez çalıştırılınca sayfa2 silindiği için kod hatası üretilmekte ve sayfa kapatılamamaktadır. Bunun için şöyle kurgulama yapılabilirmi.
Kod:
Sheets("Sayfa2").Delete
den önce Sayfa2'nin varlığı sorgulansın, varsa silerek dosya kapatılsın, yoksa silmeden kapatılsın.

Kod:
[COLOR=#ff0000]On Error Resume Next[COLOR=black]
olduğu sürece hata vermemesi gerekir. Eki inceler misiniz?[/COLOR]
[/COLOR]
 

Ekli dosyalar

Üstat yeni bir excel sayfasında makro sorunsuz çalışıyor, ancak ekteki dosyada sayfa silme işlemini bir türlü gerçekleştiremedim. Tarih kontrolünü yapıp belgeyi kapatıyor, istediğim sekmeyi silmiyor.
Örnek olarak 2011 BÜTÇESİ isimli sekmenin silinmesini yaptıramadım.
 

Ekli dosyalar

Selamlar,

Silmemesi gayet normal, çünkü sayfa ismi ile kod içinde kullandığınız sayfa ismi aynı değil!
 
Korhan hocam, her iki şekilde de yaptım, fakat sonuç alamadım.
Örnek olarak; hem Sayfa10 olarak denedim, hemde 2011 BÜTÇESİ olarak denedim.
 
Arkadaşlar hatamı buldum, sekme isminde fazladan bir boşluk varmış, sekme ismini kopyalayıp, makrodaki yerine yapıştırınca sonuç verdi.
Tekrar teşekkür ediyorum.
 
Merhaba,

Bilgisayarın tarihini 1 yıl geriye alırsak bu kodların çalışması durur. O zaman ne yapmayı düşünürsünüz? :)
 
Çok haklısınız hocam.
Hazırladığım dosyayı kullanan kişiler sadece bilgisayar okur yazarlığı olan kişiler.1 Ocak 2011 itibari ile silinmesini istediğim sekmelerin silinmesi benim için yeterlidir.
Hocam bu arada sizin çözüm öneriniz nedir, lütfedermisiniz.:hiho:
 
Geri
Üst