افزایش سرعت ماکروها اکسل ایجاد ماکرو در اکسل یک روش خارق العاده برای خودکارسازی فرآیندهای اکسل و صرفه جویی در وقت است. اما با بزرگتر شدن ماکروها ، ممکن است لازم باشد سرعت اجرای آنها را افزایش دهید.
در این آموزش رایگان اکسل روش بررسی می شود که می توانید ماکروهای خود را تسریع کنید. برای ایجاد ماکروهای کارآمد در اکسل ، واقعاً باید این موارد را بدانید.
اگر قبلاً از کاربران Excel VBA هستید ، ممکن است همه یا اکثر اینها را بدانید.
شما با دیدن این آموزش سرعت ماکروها خود را چندین برابر خواهید کرد. پس تا آخر این آموزش با سون ریپلای همراه باشید.
افزایش سرعت کد VBA در اکسل
پیشنهاد اول : در خصوص بهینه سازی کدهای ماکرو، جلوگیری از بروزرسانی صفحه نمایش نرم افزار اکسل در طول اجرای ماکرو است.
بدین منظور تنها کافی است در ابتدای ماکروی خود، بروزرسانی صفحه نمایش و آلارم های احتمالی را False و یا به اصطلاح غیرفعال نمایید
برای این منظور کافی است کد زیر را به بالاترین قسمت کد های خود قرار دهید.
1 2 |
Application.ScreenUpdating = False Application.DisplayAlerts = False |
البته فراموش نکنید در انتهای ماکرو مجدد تنظیمات لحاظ شده را به قبل از تغییرات برگردانید
برای این منظور کد های قسمت پایین را در آخرین خط کد نویس خود قرار دهید.
1 2 |
Application.ScreenUpdating = True Application.DisplayAlerts = True |
افزایش سرعت ماکروها اکسل – اکسل vba
تنظیم محاسبات دستی در طول اجرای ماکرو نیز خالی از لطف نیست ما توی ماکرو قبل جلوگیری از بروزرسانی صفحه نمایش برای افزایش سرعت ماکروها VBA در اکسل انجام دادیم.
ولی پیشنهاد می کنم برای این که خیال تون از محاسبات اکسل که برای کندی
اکسل اجرا شدن ماکرو می کنید کد زیر را نیز بالا تمامی کد های خود قرار بدهید پایین کد های قبلی
1 |
application.Calculation =xlCalculationManual |
مجدد تاکید می کنم در انتهای ماکرو مجدد تنظیمات را به حالت قبل از تغییرات برگردانید
برای این منظور هم کد زیر را به آخر کد های که قبلا قرار دادیم قرار بدهید .
1 |
Application.Calculation = xlCalculationAutomatic |
کلم آخر افزایش سرعت کد VBA در اکسل
در پایان تبدیل کردن یک برنامه بزرگ به چندین برنامه کوچک نیز می تواند در سرعت ماکروها تاثیرگذار باشد.
امیدواریم این آموزش رایگان اکسل برای افزایش سرعت ماکروها VBA در اکسل مورد توجه و رضایت شما عزیزان سایت سون ریپلای قرار گرفته باشد لذا در صورت وجود هرگونه انتقاد و پیشنهاد آموزش دیگر می توانید آن را در قسمت نظرات برای ما ارسال نمایید.
دم شما گرم باشه همیشه واقعا مفید بود
عااااااالی بود مهندس دمت گررررررررررررم
ارادت خدمت شما جناب محمد محبوب عزیز
خوشحال هستم که برای تون مفیده بود
موفق باشید
سلام جناب وکیل زاده وقت بخیر
برای ایجاد تاخیر در اجرای ماکرو از این کد استفاده کردم declare sub sleep lib “kernel32” (byval milisecond as Long) و بعد ماژول را نوشتم و داخل ماژول از sleep استفاده کردم ولی اجرا نمیشه و کد بالا به رنگ قرمز درمیاد و اخطار میده.
به نظرتون کجای کار اشتباست؟
ممنون از وقتی که میذارین…
سلام دوست عزیز من!
برای ایجاد تاخیر می توانی از فرمان Sleep استفاده کنی
مانند کد زیر:
Sub SleepVBA()
Do Until i = 5
i = i + 1
Range(“A1”) = i
Sleep 1000
Loop
End Sub
البته توجه کن که زمان به میلی ثانیه است!!!!!
موفق باشید مثل همیشه
خدا قوت جناب وکیل زاده
کدی که در نمونه آوردید را کپی کردم و در داخل ماژول گذاشتم ولی اجرا نشد و دستور sleep هایلایت شد و این پیغام را داد:
sub or function not defined
سلام ارادت خدمت شما دوست عزیز اگر اون روش برای تون جواب نداد از کد زیر استفاده نمایید
Sub Masoudhosseini()
Application.StatusBar = “Start”
For i = 1 To 900
Application.StatusBar = “MyNumber” & i
Next i
Application.StatusBar = “Finished”
Application.StatusBar = False
MsgBox “7REPLY.COM”
End Sub
موفق باشید
ممنون از وقتی که گذاشتین…
این کدی که الان فرستادین مثل دستور application.wait بک وقفه ایجاد می کند و بعد دستور را اجرا می کند.
ولی من می خواستم یک دستوری را با سرعت کمتری اجرا کند که از دستور sleep استفاده کردم و در اول کد نویسی هم از کد
declare sub sleep lib “kernel32” (byval milisecond asLong)
استفاده کردم ولی اخطار میده و کد بالا قرمز میشه …..