• DİKKAT

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

geri çalışan timer

Katılım
28 Şubat 2005
Mesajlar
707
Excel Vers. ve Dili
office 2007 (excel2007)English işte
office 2003 (excel2003)
Türkçe evde
merhaba;
ben bildiklerimi paylaşmaya,bilmediklerimi öğrenmeye hazır yeni üyeyim.
makrolar konusunda çok fazla bilgim yok. bu yüzden ihtiyacımı karşılayacak bir makroya gereksinin duydum. makronun amacı; çalışma sayfam açılınca aktif hale gelecek bir timer. bu timer verilen süre dolunca (bu süre verilen süreden geri sayım olarak çalışacak) calışma kitabını veya sayfasını kullanılmaz hale getirecek. makroya veya çalışma sayfasına veya kitabına müdahaleye izin vermeyecek. bunu kullanma amacım ise dönemsel fiyat listeleridir, verilen süre dolunca fiyatlistesi kullanılmazolacak.
yardımlarınız için şimdiden teşekkür ederim :) :)

kolay gelsin
 
Aşağıdaki kod fikir verir ve uyarlayabilirsiniz umarım.
Workbook açıldığında AcZaman'a zamanı atıyor,
sonra selection_change'lerde zamanı kontrol edip o sayfayı siliyor.. veya başka birşey yaptırırsınız silmek yerine..

Kod:
Public AcZaman
Private Sub Workbook_Open()
AcZaman = Timer
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.DisplayAlerts = False
SonZaman = Timer
If SonZaman - AcZaman > 10 Then
ActiveWindow.SelectedSheets.Delete
End If
Application.DisplayAlerts = True
End Sub
 
kodlar ve kabul ettiğiniz için tekrar teşekkürler;
kodları denedim fakat modül içinde "compile error" başlığında " invalid attribute in sub or functıon" hatası veriyor. hata yapıyor olabilirim. daha açıklayıcı bilgiler verebilirmisiniz. hatalarımı acemiliğime bağışlayın :? :(
emekleriniz için tekrar teşekkürler :)
 
Kodları modüle değil workbook içine yerleştirdiniz değilmi? (gözden kaçmış olabilir diye sordum). birde az önceki kodda dosyada tek sayfa varsa hata verecektir, onun yerine hücrelerin tamamını sildirebilirsiniz.

Kod:
Public AcZaman
Private Sub Workbook_Open()
AcZaman = Timer
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.DisplayAlerts = False
SonZaman = Timer
If SonZaman - AcZaman > 10 Then
Range("a1:IV65536").Delete
End If
Application.DisplayAlerts = True
End Sub
 
evet;
yanlış 1 kodları modüle yerleştirdim ve değişikliği yaptım
yanlış 2 sayfa 1 adetti ve 3 adet yaptım, tekrar denedim ama olmadı.
kodları uygulamadan önce "kitap1" isimli çalışma kitabında, "sayfa1,sayfa2,sayfa3" adında sayfalar var.alt+f11 le çağrı yapıp kodları "thisworbook" içine kopyalayıp kaydedip kapadım atladığım birşey var mı? yada yanlış yolda mı gidiyorum? :(
 
teşekkürler,
elinize bilginize sağlık, çalışıyor, fakat son hale getirmeden önce kodlara ilave olarak geçecek zaman içerisinde kopyalamayı engellemek için nasıl bir işlem yapmalıyız? ayrıca çalışma kitabını kaydetmeden kapatırsak sonuç istediğim gibi olmuyor. :( yani kodların sonuna otomatik kaydetme de olmalı. (tabiki bu kaydetme işlemlerin sonunda kitap son halini alacağı zaman koyulacak) :)
 
Ã?neri.

Exceli açarken kullanıcı macroları devredışı bırakabiliyor.
O zaman timer işe yaramaz.
Bu yüzden fiyat listesinin normalde görünmemesini sağlarsanız ve macro açılırken listeyi görünür yaparsa daha mantıklı olur.

Yani macrolar devre dışı olursa "Lütfen macroları etkinleştirin yazacak.
Macro etkin olursa önce bu yazıyı kaldıracak ve fiyatları görünür yapacak.
 
Haklısınız Hüseyin Bey,

Birol bey bu durumda dosya açılışındaki timer'ıda "fiyat listesini görüntüle" tuşuna bağlamak daha mantıklı olur.
 
sayın hüseyin bey;
Exceli açarken kullanıcı macroları devredışı bırakabiliyor.
yazılan kodların içinde bunu engellemenin yolu yok mu? makrolar otomatik aktif hale gelebilir mi? amaç, kullanıcıya fiyatlar üzerinde değişiklik veya başka bir müdahaleye izin vermemek.
sayın danersin;
Birol bey bu durumda dosya açılışındaki timer'ıda "fiyat listesini görüntüle" tuşuna bağlamak daha mantıklı olur.
bu durumda çalışma sayfasının açılışına bir adet buton ekleyip makroyu butona atamam gerekecek mi? :?
 
yazılan kodların içinde bunu engellemenin yolu yok mu?
maalesef yok.
aslında maalesef değil, iyiki yok.
Aksi taktirde virüs makroların önüne geçemeyiz.
 
haklısınız;
verdiğiniz bilgiler için tekrar teşekkürler
akşam evde bu kodlarla ve diğer eklenecek kodlarla çalışayım.
sonuç alırsam ve izin verirseniz kullanılmak üzere herkesle paylaşıma açık olacaktır

kolay gelsin :) :)
 
Çok teşekkürler sayın danersin.
 
Geri
Üst