How to speed up your macro (VBA coding) - 6 Ways

Author
Abu Dujana

Abu Dujana

Advisor
Teacher
Writer
Joined
Apr 25, 2018
Threads
53
Messages
642
Likes
615
Points
319
Location
Karachi, Pakistan
#1
السلام علیکم و رحمۃ اللہ و برکاتہ۔۔

وی بی اے کوڈنگ یا میکرو ریکارڈنگ میں ایک مسئلہ یہ ہوتا ہے کہ اگر آپ ضروری اقدامات نہ اٹھائیں تو اس کی پرفارمنس (سیکنڈوں میں )سلو ہوتی ہیں۔ذیل میں ہم چند انتہائی ضروری اقدامات پیش کرتے ہیں جن کی وجہ سے آپ کی وی بی اے کوڈنگ میں بہتری اور تیزی آئیگی۔

٭۔ شیٹ کیلکولیشن کو روکنا۔۔

کیا آپ جانتے ہیں کہ ہر مرتبہ جب آپ میکرو چلاتے ہیں تو شیٹ میں موجود ہر وہ سیل جس میں فارمولا ہوتا ہے اس کی ویلیو اپڈیٹ یا تبدیل ہوتی رہتی ہے؟ کسی شیٹ میں اگر زیادہ فارمولے ہوں تو میکرو پرفارمنس کافی حد تک سست پڑ جاتی ہے۔ اسی معاملے سے نمٹنے کے لئے آپ کوڈنگ کے شروع اور آخر میں یہ پراپرٹی استعمال کریں۔
Code:
Sub Macro1()
Application.Calculation = xlCalculationManual
 'Your macro code goes here
Application.Calculation = xlCalculationAutomatic
End Sub

٭۔ سکرین اپڈیٹنگ کو بند کرنا۔۔

آپ نے اکثر نوٹ کیا ہوگا جب آپ میکرو چلاتے ہیں تو اسکرین ٹمٹانا شروع کرتا ہے۔ یہ ٹمٹانا اس لئے ہوتا ہے کہ ہر میکرو چلاتے وقت ایکسل شیٹ کی اسکرین کو دوبارہ لوڈ کرتا ہے۔ اس سکرین کے بار بار لوڈ کرنے سے بچنے کے لئے آپ اس پراپرٹی کو میکرو کے شروع میں ڈس ایبل کردیں اور آخر میں ان ایبل کردیں۔

Code:
Sub Macro1()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
 'Your macro code goes here
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

٭۔ سٹیٹس بار اپڈیٹس کو عارضی طور پر بند کرنا۔

آپ میکرو میں مزید تیزی لانے کے لئے یہ پراپرٹی استعمال کرسکتے ہیں۔
Code:
Sub Macro1()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
'Your macro code goes here
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
End Sub

ایونٹس کو نظر انداز کرنا۔۔

اگر آپ نے کسی شیٹ میں ایونٹس سیٹ کر رکھے ہیں تو جب بھی آپ میکرو رن کریں گے ، میکرو سے پہلے ایونٹس خود بخود چلیں گے اور اس کے بعد میکرو چلے گی۔۔اسی لئے اپنے کوڈنگ کا تیز نتیجہ حاصل کرنے کے لے ایونٹس کو عارضی طور پر بند کریں۔۔ کوڈنگ یہ ہیں۔۔
Code:
Sub Macro1()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = False
'Your macro code goes here
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True
End Sub

٭۔ پیج بریک کو چھپانا۔۔

بعض اوقات پیج بریک کو عارضی طور پر "آف" کرنے سے بھی میکرو میں تیزی آتی ہے۔ کوڈنگ ملاحظہ ہو۔
Code:
Sub Macro1()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = False
Activesheet.DisplayPageBreaks = False
 'Your macro code goes here
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True
Activesheet.DisplayPageBreaks = True
End Sub

٭۔ پیوٹ ٹیبل کے اپڈیٹس کو معطل کرنا۔۔

اگر آپ کے ورک بک میں پیوٹ ٹیبل کا بھی استعمال ہوا ہے تو اس کو بھی کنٹرول کرنے سے میکرو تیزی سے کام کرتا ہے۔​

Code:
Sub Macro1()
ActiveSheet.PivotTables("PivotTable1").ManualUpdate=True
 'Your macro code goes here
ActiveSheet.PivotTables("PivotTable1").ManualUpdate=False
End Sub
اس ضروری اور اہم مگر آسان ٹپس کے ساتھ ابو دُجانہ کو دیجیے اجازت۔۔
اللہ حافظ۔۔​
 

UrduLover

Staff member
Moderator
Dynamic Brigade
ITD Express
Designer
Writer
Top Poster Of Month
Joined
May 9, 2018
Threads
409
Messages
1,893
Likes
1,311
Points
600
Location
Manchester U.K

Doctor

Team Leader
Most Valuable
Most Popular
Top Poster
Dynamic Brigade
Developer
Expert
Teacher
Writer
ITD4MRTS
ITD5MMB
Joined
Apr 25, 2018
Threads
300
Messages
2,099
Likes
2,620
Points
920
Location
Rawalpindi
#3
بہت مفید انفارمیشن شیئر کی ہے
اشتراک کا شکریہ​
 

Sabih Tariq

Super Moderator
Dynamic Brigade
Teacher
Writer
Joined
May 5, 2018
Threads
25
Messages
834
Likes
1,449
Points
392
Location
Central
#4
مفید معلوماتی شیرنگ ہے
کیپ اٹ اپ

شئیرنگ کا شکریہ
 

X 2

Super Star
Dynamic Brigade
Expert
Writer
Joined
Apr 25, 2018
Threads
98
Messages
640
Likes
1,674
Points
477
#5

بہت خوب​
 
Author
Abu Dujana

Abu Dujana

Advisor
Teacher
Writer
Joined
Apr 25, 2018
Threads
53
Messages
642
Likes
615
Points
319
Location
Karachi, Pakistan
#6
احباب کی حوصلہ افزائی کا شکریہ۔۔
 
Top