• DİKKAT

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

saat hakkında

Katılım
29 Mart 2016
Mesajlar
54
Excel Vers. ve Dili
türkçe
arkadaşlar herkese merhaba
excel sayfasında saat dakika ve saniye ilerlemesi şeklinde bir makro arıyorum
ör: 14.20:03 şeklinde ilerlemeye devam eden bir makro
şimdiden herkese teşekkürler
 
Selam,

VB Editörde yeni bir modül aç (Module1) ve bu kodu oraya yapıştır.
Kod:
Dim TimerActive As Boolean
Sub StartTimer()
    Start_Timer
End Sub
Private Sub Start_Timer()
    TimerActive = True
    Application.OnTime Now() + TimeValue("00:01:00"), "Timer"
End Sub
Private Sub Stop_Timer()
    TimerActive = False
End Sub
Private Sub Timer()
    If TimerActive Then
        ActiveSheet.Cells(1, 1).Value = Time 'A1 hücresi burada seçiliyor.
        Application.OnTime Now() + TimeValue("00:01:00"), "Timer"
    End If
End Sub

Aşağıdaki kod da This.Workbook bölümüne eklenecek.

Kod:
Private Sub Workbook_Open()
    Module1.StartTimer
End Sub

Dosyayı kaydet kapat. Yeniden açında bir dakika bekle. Saat A1 hücresinde gözükecektir. A1 hücresinin nerden değiştiğini kod içerisinde bildirdim.
 
Sayfaya tıkladığınızda A2 Hücresinde çalışır.Değiştirebilirsiniz.
Kod:
Sub SaatAta()
Do
 DoEvents
   [A2] = Format(Now, "hh:mm:ss")
Loop
End Sub
Sayfanın kodu

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Do
   DoEvents
    [A2] = Format(Now, "hh:mm:ss")
Loop
End Sub
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Do
DoEvents
[A2] = Format(Now, "hh:mm:ss")
Loop
End Sub


bu kod tam istediğim gibi yanlız bir sorun var excel sayfasını açtıgımda saat fare ile tıkladıgımda saymaya devam ediyor ve excel programını veya sayfayı kapatmak istediğimde program beni değişiklik yapmış gibi görüyor ve kaydetmek istermisiniz diye soruyor.
 
Vba kısmına geçip sol menüde yeni bir modül ekleyin , bu kodları içine kopyalayın kaydedin
Sonra işlem yaptığınız sayfada bir tuş ekleyip sağ tıklayıp açılan menüde makro ata seçin. Açılan dyalog kutusunda kapat başlığı görünür , onu seçip okleyin

Kod:
sub kapat()

Msgbox " Bu program korunarak kapatılıyor "
Thisworkbook.save
Application.quit  ' bu bütün excelleri kapatır.............ya bu satırı silin ya da 
Thisworkbook.close ' bu sadece çalıştığınız exceli kapatır varsa diğerleri kalır.....  ya da bu satırı silin
end sub

Kodlarını yazın , bu düğme soru sormadan kapatacaktır.

Üstteki çarpıdan kapatmak kötü alışkanlık , zira kaydedilmemiş verileri kaybettirebilir.
Dosyayı kapatmak için her zaman bu tuşu kullanın
 
verdiğin bilgi için teşekkürler ama benim istediğim tam olarak bu değil evet bu tuşta kullanışlı ama benim isteğim saat excel sayfası açılır açılmaz herhangi bir işlem yapmadan dakika ve saniye saymaya başlaması
 
Sayfa açıldığında çalışmaya başlayan saat.Makro olarak kaydedin.Dosyayı kapatın.Tekrar açtığınızda saat çalışmaya başlar.
Modüle
Kod:
Sub saatata()
Sheets("Sayfa1").Range("A1").Value = _
Format(Now, "hh:mm:ss")
Application.OnTime (Now + TimeSerial(0, 0, 1)), "saatata"
End Sub
Çalışma kitabına
Kod:
Private Sub Workbook_Open()
Call saatata
End Sub
 
Sub saatata yazan Kodu sayfa1 değil Modül1 e kopyalayınız.Kapatıp tekrar açınız.
 
teşekkürler şimdi oldu yanlız kapatırken kaydetmek istermisiniz diye soruyor bunu nasıl düzeltebiliriz


2 sorum makroları sayfaya kaydetme ile module kaydetme arasındaki fark nedir benim çalışma kitabımda çok saıda makrolar var ve hepsi sayfa 1 de kayıtlı
 
Rica ederim.Bildiğim kadar cevaplamaya çalışayım, Sayfaya yazılan kodlarda makronun çalışması için sayfa olaylarından birinin gerçekleşmesi gerekir.Hücreye tıklama,çift tıklama,hücreye bilgi girme,sayfayı aktiv etme gibi.Modüle yazılan kodlarda da kodun aktiv edilmesi gerekir.Düğme,comand buton, F5 tuşu gibi burda Kitap açılışına yazdığımız kod makroyu çağırarak çalıştırıyor.Böylece kitap açıldığında makro doğrudan çalışıyor.Kapatırken sorma konusunda düşünmedim bulursam yüklerim.Sayfada değişiklik olduğunu gördüğü için sorabilir.
 
teşekkür ederim verdiğin bilgiler için
bu foruma takıldıgımdan beri exceli biliyorum diye geçiniyordum megersem hiç bir şey bilmiyormuşum tekrar teşekkür ederim
 
teşekkür ederim verdiğin bilgiler için
bu foruma takıldıgımdan beri exceli biliyorum diye geçiniyordum megersem hiç bir şey bilmiyormuşum tekrar teşekkür ederim
Rica ederim.Ben de aynı şeyi kendim için düşünüyorum.Araştırarak kendimizi geliştiririz.Önemli olan ilgi dymaktır.Kolay gelsin.
 
Geri
Üst