הכנסת DELAY ב VBA על EXCEL...

beonfocus

New member
הכנסת DELAY ב VBA על EXCEL...

שלום רב, ברצוני לדעת האם אפשר להכניס השהייה ב VBA על EXCEL ? הכוונה היא שנניח כל 30 שניות המאקרו יקרא נתון מתא מסויים וקבוע ויעשה איתו משהו. השהייה רגילה אני מצליח לעשות אבל היא תוקעת את כל האקסל עד אשר היא מסתיימת. אני רוצה לעשות כמה כאלה במקביל כאשר כל השהייה תעצור רק את הלולאה בה היא קיימת. תודה רבה.
 

טרמפיסט

New member
ולמה לא לעשות משהו כזה?

Const TIME_OUT As Long = 30 Dim startingTime As Date startingTime = Now While (DateDiff("s", startingTime, Now) <= TIME_OUT) DoEvents Wend​
 

lj101

New member
פיתרון לעניין...

1. תוספי את הקטע הבא ל-general declaration של המסמך/טופס/מודול
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)​
2.בכל מקום שרצוי DELAY יש להוסיף את הפקודה הבאה : Sleep 500, ה-500 מסמל חצי שנייה ו-1000=לשנייה
 

beonfocus

New member
הבהרה....

כאשר אני לוחץ על כפתור נניח CommandButton1 אני רוצה להשגרה הבא תרוץ, כאשר אחרי כל LOOP תהיה המתנה של 60 שניות... היכן אני צריך להוסיף את השורה אותה רשמת ? Private Sub CommandButton1_Click() Dim indd As Integer For indd = 2 To 20 Me.Cells(indd, 2).Value = Time() Me.Cells(indd, 3).Value = Worksheets("importdata").Cells(16, 7).Value Next indd End Sub השגרה הנ"ל מסדרת את הזמן ונתון מסויים מגיליון IMPORTDATA בעמודה B ו C, וזאת 20 פעמים ברצף החל משורה 2 ועד 20. אני רוצה שהסידור יתבצע כל דקה דהיינו סה"כ 20 דקות.
 
למעלה