Bir dakika sonra çalışan makro

Katılım
20 Eylül 2005
Mesajlar
216
Excel Vers. ve Dili
Excel 2003 Türkçe
Kullanım gereği olarak sürekli açık tutulan bir sayfam var. Yanlışlıkla klavyenin bir tuşuna basıldığında bilgiler silinebiliyor. Manuel olarak sayfayı koruyorum. Ama çoğu zaman unutuyorum. Bir veya birkaç dakika sonra çalışarak sayfayı koruyacak makroya ihtiyacım var.
=Şimdi() fonksiyonu hücrelerde değişiklik yapılmadan çalışmıyor. Bunu nasıl sürekli çalışır hale getirebilirim.
İlgilenecek forum üyelerine şimdiden teşekkür ederim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,258
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Ekte örnek dosyayı makroları etkinleştirip açtığınızda 20 saniye sonra sayfaları otomatik olarak korumaya alacak olan makro çalışıp tüm sayfalarınızı korumaya alacaktır.

Eğer sadece istediğiniz bir sayfayı korumaya almak istiyorsanız. Örnek dosyadaki kodları aşağıdakiler ile değiştirip deneyiniz. Süreyi kendinize göre ayarlarsınız.

Kod:
Sub AUTO_OPEN()
Application.OnTime Now + TimeValue("00:00:20"), "SAYFAYI_KORU"
End Sub

Sub SAYFAYI_KORU()
Sheets("Sayfa1").Protect Password:="1"
MsgBox "SAYFANIZ KORUMAYA ALINMIŞTIR.", vbExclamation, "DİKKAT !"
Call AUTO_OPEN
End Sub
 
Katılım
20 Eylül 2005
Mesajlar
216
Excel Vers. ve Dili
Excel 2003 Türkçe
İlginize teşekkür ederim, Sayın COST_CONTROL
Bir dakikalık süre ne zaman başlıyor? Sanırım bunu belirtemedim. Sayfa1'de yaptığım son değişiklik ile başlıyor. Yani Sayfa1'de mauz veya klavye kullamadan geçen 1 dakikadan bahsediyorum.
Kodunuzu bu açıdan inceledim, bir şeyler yapmaya çalıştım beceremedim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,258
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Bu durumda korumaya almak istediğiniz sayfanın kod bölümüne aşağıdaki kodu uygulayınız. Bu kodlar ile sayfada bir değişiklik ve mouse ile hücre seçimi yaptığınızda kodlar otomatik olarak devereye girip sayfayı korumaya alacaktır. Umarım işinize yarar.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.OnTime Now + TimeValue("00:01:00"), "SAYFAYI_KORU"
End Sub
Boş bir modülede aşağıdaki kodu uygulayıp deneyiniz.

Kod:
Sub SAYFAYI_KORU()
Sheets("Sayfa1").Protect Password:="1"
MsgBox "SAYFALARINIZ KORUMAYA ALINMIŞTIR.", vbExclamation, "DİKKAT !"
End Sub
 
Katılım
20 Eylül 2005
Mesajlar
216
Excel Vers. ve Dili
Excel 2003 Türkçe
Teşekkür ederim Korrhan Bey
Çalışmalarımın bazılarında bunu kullanacağım.
 
Üst