PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : ايجاد تاخير زماني در اجراي ماكرو



alisabet
2011/09/13, 09:06
سلام
دوستان عزيز:
1- آيا براي ايجاد تاخير زماني در اجراي فرامين ماكرو دستور خاصي وجود داره ؟
مثلاٌ من ميخواهم اكسل در هنگام اجراي كدهاي يك ماكرو وقتي دستور يك خط را اجرا كرد خط بعدي را با يك ثانبه تاخير انجام بده( يا كسري از ثانيه) مثلاً منظورم اينكه كه يك ماكرو اعداد 1 تا 10 رو بصورت متوالي در سل a1 درج كنه منتهي بين هركدام از اعداد يه مقدار تاخير وجود داشته باشه تا كاربر بتونه اونا رو ببينه

m_d6712
2011/09/15, 20:02
سلام دوست عزیز من!
برای ایجاد تاخیر می توانی از فرمان Sleep استفاده کنی

مانند کد زیر:


Sub SleepVBA()
Do Until i = 5
i = i + 1
Range("A1") = i
Sleep 1000
Loop
End Sub

البته توجه کن که زمان به میلی ثانیه است!!!!!


با تشکر

alisabet
2011/09/17, 08:44
سلام دوست عزیز من!
برای ایجاد تاخیر می توانی از فرمان Sleep استفاده کنی

مانند کد زیر:


Sub SleepVBA()
Do Until i = 5
i = i + 1
Range("A1") = i
Sleep 1000
Loop
End Sub

البته توجه کن که زمان به میلی ثانیه است!!!!!


با تشکر



ممنون

alisabet
2011/09/19, 10:16
سلام دوست عزیز من!
برای ایجاد تاخیر می توانی از فرمان Sleep استفاده کنی

مانند کد زیر:


Sub SleepVBA()
Do Until i = 5
i = i + 1
Range("A1") = i
Sleep 1000
Loop
End Sub

البته توجه کن که زمان به میلی ثانیه است!!!!!


با تشکر



[از شما تشكر ميكنم اما دستور بالا جواب نداد اگه براي شما جواب داده لطف كنيد فايلشو ارسال كنيد

m_d6712
2011/09/19, 19:03
سلام دوست عزیز من!
برای ایجاد تاخیر می توانی از فرمان Sleep استفاده کنی

مانند کد زیر:


Sub SleepVBA()
Do Until i = 5
i = i + 1
Range("A1") = i
Sleep 1000
Loop
End Sub

البته توجه کن که زمان به میلی ثانیه است!!!!!


با تشکر



[از شما تشكر ميكنم اما دستور بالا جواب نداد اگه براي شما جواب داده لطف كنيد فايلشو ارسال كنيد


سلام خسته نباشید! حق باشماست من یادم رفت کتابخانه رو برای شما اضافه کنم! این کد رو ببینید! مشابه کد قبلی است فقط یک خط یک کتابخانه از نوع kernal بهش اضافه شده!
این یکی کار میکنه :)

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub a()
For i = 5 To 10
Range("A1") = i
Sleep 1000
Next
End Sub


روش دیگری نیز برای متوقف کردن وجود دارد:

با استفاده از تابع Wait مانند کد زیر:

Application.Wait DateAdd("s", 10, Now)

alisabet
2011/09/20, 11:42
سلام
روش دوم ( با استفاده ازwait) جواب داد ولي روش اولي يه خطا ميده كه تصويرش رو در لينك زير ميذارم ببين مشكلش چيه

http://parsaspace.com/files/3702674884/err.jpg.html

m_d6712
2011/09/20, 15:41
سلام
روش دوم ( با استفاده ازwait) جواب داد ولي روش اولي يه خطا ميده كه تصويرش رو در لينك زير ميذارم ببين مشكلش چيه

http://parsaspace.com/files/3702674884/err.jpg.html


دو خط اضافی دارید شما در کدتون!

Sub Macro1() اول و End Sub آخر را پاک کنید! درست می شود.

alisabet
2011/09/21, 07:45
عالي بود - خيلي ممنون