Makro arasında alternatif bekleme kodu

Katılım
24 Mart 2017
Mesajlar
148
Excel Vers. ve Dili
ofis 2013
Merhaba arkadaşlar makroların arasında 5 sn beklemek istiyorum bunun için Application.Wait (Now + TimeValue("00:00:05")) kullanıyorum ama bu beklerken komple exceli donduruyor. exceli dondurmadan bekleyen alternatif bir kod var mi acaba.
teşekkürler
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Örnek olarak;
Boş bir Module aşağıdakileri kopyalayın.
Sayfa üzerindeki bir butonla da Module içindeki Makro1'i çalıştırın.
C++:
Sub Makro1()
    MsgBox "Makro 1 çalıştı"
    Application.OnTime Now + TimeValue("00:00:5"), "Makro2"
End Sub
Sub Makro2()
    MsgBox "Makro 2 çalıştı"
    Application.OnTime Now + TimeValue("00:00:5"), "Makro3"
End Sub
Sub Makro3()
    MsgBox "Makro 3 çalıştı"
End Sub
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Aşağıdaki yöntemleri deneyin,
Kod:
Sub test()
    Call test1
    Dim Check
    Check = Now + TimeValue("00:00:05")
    Do While Now <= Check
        DoEvents
    Loop
    Call test2
End Sub
Kod:
Sub test_applicationOnTime()
    Call test1
    Dim Check
    Check = Now + TimeValue("00:00:05")
    Application.OnTime Check, "test2"
End Sub
 
Katılım
24 Mart 2017
Mesajlar
148
Excel Vers. ve Dili
ofis 2013
Aşağıdaki yöntemleri deneyin,
Kod:
Sub test()
    Call test1
    Dim Check
    Check = Now + TimeValue("00:00:05")
    Do While Now <= Check
        DoEvents
    Loop
    Call test2
End Sub
Kod:
Sub test_applicationOnTime()
    Call test1
    Dim Check
    Check = Now + TimeValue("00:00:05")
    Application.OnTime Check, "test2"
End Sub
teşekkürler hocam test1 test2 ne aacaba ?
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Çalıştıracağınız makroların adları; siz kendi makrolarınızın adlarını yazın.
 
Katılım
24 Mart 2017
Mesajlar
148
Excel Vers. ve Dili
ofis 2013
Çalıştıracağınız makroların adları; siz kendi makrolarınızın adlarını yazın.
Sub f4yap()
ilksatir = 16
Do While Cells(ilksatir, 25) <> ""
Cells(ilksatir, 25).Select
SendKeys "{F4}"
-- burada 5 sn beklesin istiyorum--
ilksatir = ilksatir + 1
Loop
End Sub

tekrar teşekkürler. 2 makrom yok 1 tane makronun içine yerleştirmek istiyorum kafam karıştı.
 
Katılım
24 Mart 2017
Mesajlar
148
Excel Vers. ve Dili
ofis 2013
Çalıştıracağınız makroların adları; siz kendi makrolarınızın adlarını yazın.
Sub f4yap()
ilksatir = 16
Do While Cells(ilksatir, 25) <> ""
Cells(ilksatir, 25).Select
SendKeys "{F4}"
Check = Now + TimeValue("00:00:05")
Do While Now <= Check
DoEvents
Loop
MsgBox "ilki oldu"
ilksatir = ilksatir + 1
Loop
End Sub
şeklinde hallettim hocam teşkkürler.
 
Üst