Belli Aralıklarla Prosedür Çağırmak

sahir73

Altın Üye
Katılım
17 Nisan 2019
Mesajlar
68
Excel Vers. ve Dili
Office 2016 Professional Plus 32 Bit
Altın Üyelik Bitiş Tarihi
07-07-2027
Merhaba sevgil excel.web.tr ailesi bir ajanda uygulması üzerinde çalışmaktayım yapmak istediğim şey şu
görev tarihi ve saati geldiğinde textboxa ilgi görevin, yazmış olduğum prosedürü, userform açıkken userform üzerindeki txtYuksek textboxuna çağrılarak akatarılması . TetiklEme işini beceremedim.

C#:
Public Sub Hatirlat()
Dim sh          As Worksheet
Dim ss, i As Long
    Set sh = ThisWorkbook.Sheets("AJANDA")
ss = sh.Range("B" & Rows.Count).End(xlUp).Row
For i = 2 To ss
If Format(sh.Range("C" & i).Value, "hh:mm") = Format(Time, "hh:mm") And sh.Range("B" & i).Value = Date Then
Beep
Beep
txtYuksek.Value = sh.Range("E" & i)

End If
Next i
Application.OnTime Now + TimeValue("00:01:00"), "Hatirlat"
End Sub
 
Katılım
29 Aralık 2010
Mesajlar
11
Excel Vers. ve Dili
365 / TR
Öncelikle merhabalar.

Yeni bir excel sayfasına 1 adet userform ve 1 adet module oluşturun, 1 adet de label nesnesi oluşturun userform1 içine sonra aşağıdaki kodları kopyalayıp yapıştırın.

Userform1 kod sayfasına
C++:
Private Sub UserForm_Initialize()
Call Say
End Sub

Private Sub UserForm_Terminate()
Call Dur
End Sub
Module1 kod sayfasına
C++:
Option Explicit

Public Zaman As Double
Public i As Integer

Sub Say()
Zaman = Now + TimeValue("00:00:01")
UserForm1.Label1.Caption = Format(Zaman, "DD.MM.YYYY HH:MM:SS") 'SANİYELERİ ÇALIŞTIĞINI GÖREBİLMENİZ İÇİN KOYDUM SONRA KALDIRABİLİRSİN
Application.OnTime Zaman, "Say", , True

'bu alana test için döngü koydum ama zamanda sapmalar olabiliyor (normal saatten 1 sn ileri gidebiliyor vb :) )

    For i = 1 To 255 Step 1
        Sayfa1.Range("A" & i).Value = "Huhu " & i
        If i = 255 Then Exit Sub
    Next
End Sub

Sub Dur()
Application.OnTime Zaman, "Say", , False
End Sub
Not: Umarım işinizi görür. Maalesef vba da VB deki gibi Timer yok. Ancak bu şekilde oluyor. Biraz araştırdım ve bu kodlar bir kaç araştırma videosu süzülerek yazıldı. Daha detaylı araştırma yapmak isterseniz Application.OnTime şeklinde nette aratabilirsiniz. İyi forumlar.
 
Son düzenleme:

sahir73

Altın Üye
Katılım
17 Nisan 2019
Mesajlar
68
Excel Vers. ve Dili
Office 2016 Professional Plus 32 Bit
Altın Üyelik Bitiş Tarihi
07-07-2027
Öncelikle merhabalar.

Yeni bir excel sayfasına 1 adet userform ve 1 adet module oluşturun, 1 adet de label nesnesi oluşturun userform1 içine sonra aşağıdaki kodları kopyalayıp yapıştırın.

Userform1 kod sayfasına
C++:
Private Sub UserForm_Initialize()
Call Say
End Sub

Private Sub UserForm_Terminate()
Call Dur
End Sub
Module1 kod sayfasına
C++:
Option Explicit

Public Zaman As Double
Public i As Integer

Sub Say()
Zaman = Now + TimeValue("00:00:01")
UserForm1.Label1.Caption = Format(Zaman, "DD.MM.YYYY HH:MM:SS") 'SANİYELERİ ÇALIŞTIĞINI GÖREBİLMENİZ İÇİN KOYDUM SONRA KALDIRABİLİRSİN
Application.OnTime Zaman, "Say", , True

'bu alana test için döngü koydum ama zamanda sapmalar olabiliyor (normal saatten 1 sn ileri gidebiliyor vb :) )

    For i = 1 To 255 Step 1
        Sayfa1.Range("A" & i).Value = "Huhu " & i
        If i = 255 Then Exit Sub
    Next
End Sub

Sub Dur()
Application.OnTime Zaman, "Say", , False
End Sub
Not: Umarım işinizi görür. Maalesef vba da VB deki gibi Timer yok. Ancak bu şekilde oluyor. Biraz araştırdım ve bu kodlar bir kaç araştırma videosu süzülerek yazıldı. Daha detaylı araştırma yapmak isterseniz Application.OnTime şeklinde nette aratabilirsiniz. İyi forumlar.
Allah razı olsun valla kafayı sıyaracaktım. Süper oldu çok sağ olun
 
Katılım
29 Aralık 2010
Mesajlar
11
Excel Vers. ve Dili
365 / TR
Rica ederim. Bir faydam dokunduysa ne mutlu bana.

İyi forumlar.
 
Üst