Application.OnTime

Katılım
14 Ekim 2004
Mesajlar
10
Daha önce "çalışması duran eklenti" ile bir sorunuma forumda cevap aramıştım. Bu sorun eklentinin kendini tekrar çalıştıramamasıydı. Daha sonra kendim bir çözüm buldum. Koddaki "Application.OnTime" satırını en başa aldım ve artık çalışmasında herhangi bir problem yok.
Fakat takıldığım başka bir nokta var.

"Application.OnTime Now + TimeValue("00:00:60")" bu satırdaki 60 saniyelik tekrarlama süresini kodlamayı elle ayarlamaya gerek kalmadan değişken hale getirmeye çalışıyorum.

Ã?rnek olarak;

Sub deneme()
Dim zaman as integer
zaman = 100 'Ã?rnektir. Bu değer başka bir dosyadan alınacaktır.
Application.OnTime Now + TimeValue("00:00:00")

'yukarıdaki satırda TimeValue kısmına saniyeyi ifade eden "zaman"
'değişkenini nasıl entegre ederiz.

End Sub
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,318
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
denemedim ama şöyle bir şey olabilir;

Dim zaman As String
zaman = "00:00:10"
Application.OnTime Now + TimeValue(zaman)
 
X

xxrt

Misafir
Size Bu Ã?rnek Fikir verebilir.Kendi çalışmanıza derlersiniz.
A1 Hücresine İstediğiniz zamanı atarsınız.Tabii A1 Hücresini ss:dd:nn biçimlendirmeniz gerek.
Kod:
Sub basla()
Application.OnTime Now + [a1], procedure:="Mesaj"
End Sub
Sub Mesaj()
MsgBox "deneme"
End Sub
 
Katılım
14 Ekim 2004
Mesajlar
10
Sayın Raider ilginiz için teşekkürler.

Dediğiniz şekilde yapılabilir. Ben kodlamayı gereksiz yere uzatmak istemedim. Yani 100 saniyeyi; 1 dakika 40 saniye olarak çözümlemek ve değişkene aktarmak yerine Format(time + zaman, "hh:mm:ss") gibi denemeler yaptım fakat çalıştıramadım.

Formatları birbirine eklemeyle ilgili fikri olan arkadaşların önerilerini bekliyorum.

İyi akşamlar...
 
Katılım
14 Ekim 2004
Mesajlar
10
Sayın xxrt eklentiyi bitirmeye çalıştığım için sizi biraz geç farkettim.

Sanırım saniye olayını bir kenara bırakıp sayın Raider ve sizin dediğiniz şekilde bunu çözmeye çalışıcam. Tekrar teşekkürler.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
aşağıdaki kod 60 sn'lik bekleme gerçekleştiriyor,belki size faydası olur

selamlar

Bekleme_Suresi = 60
bekleme = Timer
Do
Loop While (Timer - bekleme) < Bekleme_Suresi
 
Katılım
7 Temmuz 2004
Mesajlar
1,141
"Application.OnTime Now + TimeValue("00:00:60")" bu satırdaki 60 saniyelik tekrarlama süresini kodlamayı elle ayarlamaya gerek kalmadan değişken hale getirmeye çalışıyorum.

Ã?rnek olarak;

Sub deneme()
Dim zaman as integer
zaman = 100 'Ã?rnektir. Bu değer başka bir dosyadan alınacaktır.
Application.OnTime Now + TimeValue("00:00:00")

'yukarıdaki satırda TimeValue kısmına saniyeyi ifade eden "zaman"
'değişkenini nasıl entegre ederiz.
Kod:
Dim zaman as integer 
zaman = 100 'Ã?rnektir. Bu değer başka bir dosyadan alınacaktır. 
Application.OnTime Now + TimeSerial(0, 0, zaman)
 
Katılım
14 Ekim 2004
Mesajlar
10
Sayın Alpen TimeSerial işe yaradı. Teşekkürler.
 
Üst