Excel'de digital saat oluşturma

Katılım
28 Aralık 2023
Mesajlar
15
Excel Vers. ve Dili
Excel 365
Merhaba, excelde dosyayı açtığımda otomatik olarak aktif olacak şekilde digital saat oluşturmak istiyorum fakat uygun kodu bir türlü bulamadım. Konu ile ilgili yardımcı olursanız sevinirim. Şimdiden teşekkürler.
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,486
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Yapay zeka cevabıdır , excel sayfası a1 hücresine gore duzenlemedir.


  1. Excel dosyanızı açın.
  2. ALT + F11 tuşlarına basarak VBA penceresini açın.
  3. Insert menüsünden Module seçeneğini seçin. Yeni bir modül açılacak.
Aşağıdaki kodu açılan modül penceresine yapıştırın:


Dim nextTick As Double

Sub StartClock()
nextTick = Now + TimeValue("00:00:01") ' 1 saniye bekle
Application.OnTime nextTick, "UpdateClock"
End Sub

Sub UpdateClock()
ThisWorkbook.Sheets(1).Range("A1").Value = Format(Now, "hh:mm:ss") ' A1 hücresine saat yaz
StartClock ' Zamanlayıcıyı yeniden başlat
End Sub

Sub StopClock()
On Error Resume Next
Application.OnTime nextTick, "UpdateClock", , False
End Sub


  1. Sol taraftaki "ThisWorkbook" nesnesine çift tıklayın.
  2. Aşağıdaki kodu yapıştırın:

Private Sub Workbook_Open()
StartClock
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
StopClock
End Sub

  1. Dosyanızı Excel Macro-Enabled Workbook (*.xlsm) formatında kaydedin.

Excel dosyanızı her açtığınızda, A1 hücresinde otomatik olarak güncellenen bir dijital saat göreceksiniz. Dosyayı kapattığınızda saat güncellemeyi durduracaktır.
 

adventurous26

Altın Üye
Katılım
20 Haziran 2013
Mesajlar
296
Excel Vers. ve Dili
EXCELL 365
Altın Üyelik Bitiş Tarihi
02-11-2028
peki sadece sayfa 1 demi yazıyor ben tüm sayfalarda a1 hücresinde çalışmasını istiyorum ama yapamadım
 
Katılım
11 Temmuz 2024
Mesajlar
125
Excel Vers. ve Dili
Excel 2021 Türkçe
Merhabalar, öncelikle şu modülü ekleyin;


Kod:
Dim NextTick As Date

Sub ShowTime()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.Range("A1").Value = Format(Now, "HH:mm:ss")
    Next ws
    NextTick = Now + TimeValue("00:00:01")
    Application.OnTime NextTick, "ShowTime"
End Sub

Sub StopTime()
    On Error Resume Next
    Application.OnTime EarliestTime:=NextTick, Procedure:="ShowTime", Schedule:=False
End Sub
Sonrasında Proje Gezgininde (sol taraftaki panoda), ThisWorkbook nesnesine çift tıklayın. Açılan kod penceresine aşağıdaki kodları ekleyin:

Kod:
Private Sub Workbook_Open()
    ShowTime
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    StopTime
End Sub
Son olarak Dosya > Seçenekler > Güven Merkezi > Güven Merkezi Ayarları > Makro Ayarları yolunu izleyin ve Tüm makroları etkinleştir seçeneğini seçin.

Yedek alıp deneyin lütfen, denedikten sonra sonucu paylaşabilir misiniz?
 
Katılım
28 Aralık 2023
Mesajlar
15
Excel Vers. ve Dili
Excel 365
Merhaba, öncelikle teşekkür ederim gayet çalışıyor. Yalnız şöyle bir sıkıntı yaşıyorum bunu uyguladığım excel dosyasını açtığımda fare imleci dönüp duruyor. Mesela hücre kenarları çizmek istediğim bu durumdan dolayı kalemi seçtiğimde çizemiyorum. Bununla ilgili yardımcı olabilir misiniz?
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,486
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Saniye işlevini kaldırın zira saat her saniye çalışınca diğer işlevler bloke olur
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,486
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Hangi kodu kullandınız ? O kodu aldıgınız uye yardımcı olacaktır .
 
Katılım
11 Temmuz 2024
Mesajlar
125
Excel Vers. ve Dili
Excel 2021 Türkçe
Merhaba, öncelikle teşekkür ederim gayet çalışıyor. Yalnız şöyle bir sıkıntı yaşıyorum bunu uyguladığım excel dosyasını açtığımda fare imleci dönüp duruyor. Mesela hücre kenarları çizmek istediğim bu durumdan dolayı kalemi seçtiğimde çizemiyorum. Bununla ilgili yardımcı olabilir misiniz?
Bunun çözümü için ya her saniye güncellenmesini geciktireceğiz ya da aynı excel sayfasında işlem yaparken devre dışı bırakacağız. İkisini de bırakıyorum, deneyip karar verirsiniz.

Güncelleme Sıklığını Azaltma;

Kod:
Dim NextTick As Date

Sub ShowTime()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.Range("A1").Value = Format(Now, "HH:mm:ss")
    Next ws
    NextTick = Now + TimeValue("00:01:00")
    Application.OnTime NextTick, "ShowTime"
End Sub

Sub StopTime()
    On Error Resume Next
    Application.OnTime EarliestTime:=NextTick, Procedure:="ShowTime", Schedule:=False
End Sub
İşlem yapılırken tetiklenmeyi kaldırma;

Kod:
Sub ShowTime()
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.Range("A1").Value = Format(Now, "HH:mm:ss")
    Next ws
    Application.ScreenUpdating = True
    Application.EnableEvents = True
    NextTick = Now + TimeValue("00:00:10")
    Application.OnTime NextTick, "ShowTime"
End Sub
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşım,
Saniye kaldırılmış hali
Silinebilir bağlantı Ornek_Dosya_2
İyi çalışmalar
 

Ekli dosyalar

Son düzenleme:
Üst