Makrom 20 sn sonra çalışsın.

Katılım
24 Ağustos 2004
Mesajlar
140
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Tablomun açılış kısmındaki makrolardan bir tanesi 20 sn sonra çalışsın. Bunu nasıl sağlarım?

Saygılarımla,
 
Katılım
5 Nisan 2005
Mesajlar
185
Sub gecikmeli_makro()
Application.Wait Now + TimeValue("00:00:20")
Application.Run "Makronuz" 'Tırank işaretli yere makronuzun adını yazınız
End Sub
 
Katılım
24 Ağustos 2004
Mesajlar
140
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Sevgili dumanibo

Kod için teşekkürler. Ancak bu 20 saniye boyunca imleç meşgul... Haliyle tablomu kullanamıyorum. Bunun için bir yöntem var mı?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Tablonuzun bulunduğu sayfanın ve çalışacak makronu adı nedir?
 
Katılım
24 Ağustos 2004
Mesajlar
140
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
sayfa adı "XXXX", çalışacak makronun adı "denetleme".
 
Katılım
5 Nisan 2005
Mesajlar
185
Aşağıdaki kodları inceleyin. Bu API'leri kullanarak sorununuzu halladebileceksiniz sanırım. Ekteki örnek dosyayı da inceleyebilirsiniz.

Kod:
Public Declare Function SetTimer Lib "user32" ( _
    ByVal HWnd As Long, ByVal nIDEvent As Long, _
    ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Public Declare Function KillTimer Lib "user32" ( _
    ByVal HWnd As Long, ByVal nIDEvent As Long) As Long

Public TimerID As Long
Public TimerSeconds As Single

Sub StartTimer()
    TimerSeconds = 20 ' süreyi ayarla, milisaniye
    TimerID = SetTimer(0&, 0&, TimerSeconds * 1000&, AddressOf TimerProc)
End Sub

Sub EndTimer()
    On Error Resume Next
    KillTimer 0&, TimerID
End Sub

Sub TimerProc(ByVal HWnd As Long, ByVal uMsg As Long, _
         ByVal nIDEvent As Long, ByVal dwTimer As Long)
    ' Timerla ilgili kodlar buraya yazılacak.
    makro1  'Buraya kendi makronuzun adını yazın
    EndTimer
End Sub

Sub makro1()
MsgBox "Gecikmeli makro çalıştı"
End Sub
 
Üst