• DİKKAT

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

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

  • Konbuyu başlatan Konbuyu başlatan sahir73
  • Başlangıç tarihi Başlangıç tarihi

sahir73

Altın Üye
Katılım
17 Nisan 2019
Mesajlar
74
Excel Vers. ve Dili
Office 2016 Professional Plus 32 Bit
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
 
Ö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:
Ö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
 
Rica ederim. Bir faydam dokunduysa ne mutlu bana.

İyi forumlar.
 
Geri
Üst