ایکسل میں وی بی اے میکروز لکھنے کے بارے میں ایک ابتدائی سبق (اور آپ کو کیوں سیکھنا چاہیے)

ایکسل میں وی بی اے میکروز لکھنے کے بارے میں ایک ابتدائی سبق (اور آپ کو کیوں سیکھنا چاہیے)

ایکسل میکروز آپ کو ایک ٹن وقت بچا سکتا ہے۔ ایکسل عمل کو خودکار کرنا جسے آپ اکثر استعمال کرتے ہیں۔ . لیکن میکرو دراصل کافی محدود ہیں۔ ریکارڈنگ کے آلے سے غلطی کرنا آسان ہے ، اور ریکارڈنگ کا عمل عجیب ہے۔





میکرو بنانے کے لیے وی بی اے کا استعمال آپ کو بہت زیادہ طاقت دیتا ہے۔ آپ ایکسل کو بالکل بتا سکتے ہیں کہ کیا کرنا ہے اور کیسے کرنا ہے۔ آپ بہت زیادہ افعال اور صلاحیتوں تک بھی رسائی حاصل کرتے ہیں۔ اگر آپ باقاعدگی سے ایکسل استعمال کرتے ہیں تو ، VBA میکرو بنانے کا طریقہ سیکھنے کے قابل ہے۔





ہم بنیادی باتوں سے شروع کریں گے۔





VBA کیا ہے؟

VBA ایپلی کیشنز کے لیے بصری بنیادی ہے۔ ، ایک پروگرامنگ لینگویج جسے آپ بہت سے مائیکروسافٹ ایپس میں استعمال کر سکتے ہیں۔ بصری بنیادی ایک پروگرامنگ زبان ہے ، اور VBA اس کا اطلاق سے متعلقہ ورژن ہے۔ (مائیکروسافٹ نے 2008 میں بصری بنیادی کو بند کر دیا ، لیکن VBA اب بھی مضبوط ہو رہا ہے)

خوش قسمتی سے غیر پروگرامرز کے لیے ، VBA بہت آسان ہے ، اور جس انٹرفیس کو آپ ترمیم کرنے کے لیے استعمال کرتے ہیں وہ بہت زیادہ مدد فراہم کرتا ہے۔ بہت سے احکامات جنہیں آپ پاپ اپ تجاویز اور خودکار تکمیل استعمال کریں گے ، آپ کی اسکرپٹ کو تیزی سے کام کرنے میں مدد فراہم کریں گے۔



پھر بھی ، VBA کی عادت ڈالنے میں کچھ وقت لگتا ہے۔

ایکسل میں وی بی اے میکروز کے فوائد

اگر وی بی اے میکرو کو ریکارڈ کرنے سے زیادہ مشکل ہے تو آپ اسے کیوں استعمال کریں گے؟ مختصر جواب یہ ہے کہ آپ VBA میکرو سے بہت زیادہ طاقت حاصل کرتے ہیں۔





اپنی اسپریڈشیٹ کے ارد گرد کلک کرنے اور ان کلکس کو ریکارڈ کرنے کے بجائے ، آپ ایکسل کے افعال اور صلاحیتوں کی مکمل رینج تک رسائی حاصل کرسکتے ہیں۔ آپ کو صرف ان کو استعمال کرنے کا طریقہ جاننے کی ضرورت ہے۔

آپ کا سنیپ اسکور کتنا اوپر جاتا ہے؟

اور ایک بار جب آپ وی بی اے کے ساتھ زیادہ آرام دہ ہوجائیں تو ، آپ وہ تمام کام کر سکتے ہیں جو آپ باقاعدہ میکرو میں بہت کم وقت میں کر سکتے ہیں۔ نتائج بھی زیادہ متوقع ہوں گے ، جیسا کہ آپ ایکسل کو بتا رہے ہیں۔ بالکل کیا کرنا ہے کوئی ابہام بالکل نہیں ہے۔





ایک بار جب آپ اپنا VBA میکرو بنا لیں ، اسے محفوظ کرنا اور اس کا اشتراک کرنا آسان ہے تاکہ کوئی اور اس سے فائدہ اٹھا سکے۔ یہ خاص طور پر مفید ہے جب آپ بہت سارے لوگوں کے ساتھ کام کر رہے ہیں جن کو ایکسل میں وہی کام کرنے کی ضرورت ہے۔

آئیے ایک سادہ VBA میکرو کو دیکھیں کہ یہ کیسے کام کرتا ہے۔

ایکسل میں وی بی اے میکرو کی مثال۔

آئیے ایک سادہ میکرو کو دیکھیں۔ ہماری اسپریڈشیٹ میں ملازمین کے نام ، اسٹور نمبر جہاں ملازمین کام کرتے ہیں ، اور ان کی سہ ماہی فروخت ہوتی ہے۔

یہ میکرو ہر سٹور سے سہ ماہی فروخت کا اضافہ کرے گا اور ان مجموعوں کو سپریڈ شیٹ کے سیلز میں لکھ دے گا (اگر آپ کو یقین نہیں ہے کہ VBA ڈائیلاگ تک کیسے رسائی حاصل کی جائے تو چیک کریں ہماری VBA واک تھرو یہاں۔ ):

Sub StoreSales()
Dim Sum1 As Currency
Dim Sum2 As Currency
Dim Sum3 As Currency
Dim Sum4 As Currency
For Each Cell In Range('C2:C51')
Cell.Activate
If IsEmpty(Cell) Then Exit For
If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If
Next Cell

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

End Sub

یہ طویل اور پیچیدہ لگ سکتا ہے ، لیکن ہم اسے توڑ دیں گے تاکہ آپ انفرادی عناصر کو دیکھ سکیں اور VBA کی بنیادی باتوں کے بارے میں تھوڑا سا سیکھیں۔

ذیلی کا اعلان۔

ماڈیول کے آغاز میں ، ہمارے پاس 'سب سٹور سیلز' () ہے۔ یہ سٹور سیلز نامی ایک نئے ذیلی کی وضاحت کرتا ہے۔

آپ افعال کی وضاحت بھی کر سکتے ہیں --- فرق یہ ہے کہ افعال اقدار کو واپس کر سکتے ہیں ، اور سبس نہیں کر سکتے اس صورت میں ، ہمیں کوئی قیمت واپس کرنے کی ضرورت نہیں ہے ، لہذا ہم ایک ذیلی استعمال کر رہے ہیں۔

ماڈیول کے اختتام پر ، ہمارے پاس 'End Sub' ہے ، جو ایکسل کو بتاتا ہے کہ ہم اس VBA میکرو کے ساتھ کام کر چکے ہیں۔

متغیرات کا اعلان

ہمارے سکرپٹ میں کوڈ کی پہلی لائنیں سب 'ڈم' سے شروع ہوتی ہیں۔ متغیر کا اعلان کرنے کے لیے مدھم VBA کا حکم ہے۔

تو 'Dim Sum1' ایک نیا متغیر تخلیق کرتا ہے جسے 'Sum1' کہتے ہیں۔ تاہم ، ہمیں ایکسل کو بتانے کی ضرورت ہے کہ یہ کس قسم کا متغیر ہے۔ ہمیں ڈیٹا کی قسم منتخب کرنے کی ضرورت ہے۔ وی بی اے میں ڈیٹا کی بہت سی اقسام ہیں --- آپ اسے تلاش کر سکتے ہیں۔ مائیکروسافٹ کی مدد دستاویزات میں مکمل فہرست۔ .

چونکہ ہمارا VBA میکرو کرنسیوں سے نمٹنے والا ہے ، ہم کرنسی ڈیٹا ٹائپ استعمال کر رہے ہیں۔

بیان 'Dim Sum1 As Currency' ایکسل کو ایک نیا کرنسی متغیر بنانے کے لیے کہتا ہے جسے Sum1 کہتے ہیں۔ ہر متغیر جس کا آپ اعلان کرتے ہیں ایکسل کو اس کی قسم بتانے کے لیے 'As' بیان ہونا ضروری ہے۔

ایک لوپ شروع کرنا۔

لوپس کچھ طاقتور چیزیں ہیں جو آپ کسی بھی پروگرامنگ زبان میں بنا سکتے ہیں۔ اگر آپ لوپس سے واقف نہیں ہیں تو ، Do-While loops کی اس وضاحت کو دیکھیں۔ اس مثال میں ، ہم ایک لوپ کا استعمال کر رہے ہیں ، جو مضمون میں بھی شامل ہے۔

لوپ کی طرح لگتا ہے:

For Each Cell in Range('C2:C51')
[a bunch of stuff]
Next Cell

یہ ایکسل کو بتاتا ہے کہ ہم نے جو رینج مقرر کی ہے اس میں خلیات کے ذریعے دوبارہ چلنا ہے۔ ہم نے استعمال کیا ہے a رینج آبجیکٹ۔ ، جو VBA میں ایک مخصوص قسم کی شے ہے۔ جب ہم اسے اس طرح استعمال کرتے ہیں --- رینج ('C2: C51') --- یہ ایکسل کو بتاتا ہے کہ ہم ان 50 خلیوں میں دلچسپی رکھتے ہیں۔

'ہر ایک کے لیے' ایکسل کو بتاتا ہے کہ ہم رینج کے ہر سیل کے ساتھ کچھ کرنے جا رہے ہیں۔ 'نیکسٹ سیل' ہر اس چیز کے بعد آتا ہے جو ہم کرنا چاہتے ہیں ، اور ایکسل سے کہتا ہے کہ لوپ کو شروع سے شروع کریں (اگلے سیل سے شروع کرتے ہوئے)۔

ہمارے پاس یہ بیان بھی ہے: 'اگر IsEmpty (Cell) ہے تو پھر باہر نکلیں۔'

کیا آپ اندازہ لگا سکتے ہیں کہ یہ کیا کرتا ہے؟

نوٹ: سختی سے ، جبکہ لوپ کا استعمال بہتر انتخاب ہو سکتا ہے۔ . تاہم ، تدریس کی خاطر ، میں نے ایگزٹ کے ساتھ فار لوپ استعمال کرنے کا فیصلہ کیا۔

PS4 پر صارف کو کیسے حذف کریں۔

اگر پھر-دوسرے بیانات۔

اس خاص میکرو کا بنیادی If-Then-Else بیانات میں ہے۔ مشروط بیانات کا ہمارا سلسلہ یہ ہے:

If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If

زیادہ تر حصے کے لیے ، آپ شاید اندازہ لگا سکتے ہیں کہ یہ بیانات کیا کرتے ہیں۔ اگرچہ آپ ActiveCell.Offset سے واقف نہیں ہوں گے۔ 'ActiveCell.Offset (0، -1)' ایکسل کو اس سیل کو دیکھنے کے لیے کہتا ہے جو فعال سیل کے بائیں جانب ایک کالم ہے۔

ہمارے معاملے میں ، یہ ایکسل کو اسٹور نمبر کالم سے مشورہ کرنے کو کہہ رہا ہے۔ اگر ایکسل کو اس کالم میں 1 مل جاتا ہے ، تو یہ ایکٹو سیل کے مندرجات کو لیتا ہے اور اسے Sum1 میں شامل کرتا ہے۔ اگر اسے 2 مل جاتا ہے تو ، یہ فعال سیل کے مندرجات کو Sum2 میں شامل کرتا ہے۔ اور اسی طرح.

ایکسل ان تمام بیانات کو ترتیب سے گزرتا ہے۔ اگر مشروط بیان مطمئن ہے ، یہ پھر بیان کو مکمل کرتا ہے۔ اگر نہیں ، تو یہ اگلے ElseIf میں منتقل ہوتا ہے۔ اگر یہ اختتام تک پہنچتا ہے اور کوئی بھی شرط پوری نہیں ہوتی ہے تو یہ کوئی کارروائی نہیں کرے گا۔

لوپ اور کنڈیشنز کا امتزاج ہی اس میکرو کو چلاتا ہے۔ لوپ ایکسل کو کہتا ہے کہ وہ سیل میں ہر سیل سے گزرے ، اور کنڈیشنز اسے بتائیں کہ اس سیل کے ساتھ کیا کرنا ہے۔

سیل ویلیوز لکھنا۔

آخر میں ، ہم اپنے حساب کے نتائج کو خلیوں میں لکھتے ہیں۔ یہاں وہ لائنیں ہیں جو ہم ایسا کرنے کے لیے استعمال کرتے ہیں:

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

'. ویلیو' اور ایک مساوی نشان کے ساتھ ، ہم ان خلیوں میں سے ہر ایک کو اپنے متغیرات میں سے ایک کی قیمت پر سیٹ کرتے ہیں۔

اور یہ بات ہے! ہم ایکسل کو بتاتے ہیں کہ ہم نے اس سب کو 'End Sub' کے ساتھ لکھنا مکمل کر لیا ہے اور VBA میکرو مکمل ہو گیا ہے۔

جب ہم میکرو کو اس کے ساتھ چلاتے ہیں۔ میکرو میں بٹن ڈویلپر ٹیب ، ہم اپنی رقم حاصل کرتے ہیں:

ایکسل میں VBA کے بلڈنگ بلاکس کو ایک ساتھ رکھنا۔

جب آپ پہلی بار اوپر والے VBA میکرو کو دیکھیں تو یہ کافی پیچیدہ لگتا ہے۔ لیکن اس کے جزوی حصوں میں توڑنے کے بعد ، منطق واضح ہو جاتی ہے۔ کسی بھی سکرپٹنگ زبان کی طرح ، VBA کے نحو کی عادت ڈالنے میں وقت لگتا ہے۔

لیکن مشق کے ساتھ ، آپ اپنی VBA ذخیرہ الفاظ کی تعمیر کریں گے اور میکرو کو تیزی سے ، زیادہ درست طریقے سے لکھ سکیں گے ، اور اس سے کہیں زیادہ طاقت کے ساتھ جو آپ انہیں ریکارڈ کر سکتے ہیں۔

جب آپ پھنس جاتے ہیں تو ، گوگل سرچ کرنا آپ کے VBA سوالات کے جوابات حاصل کرنے کا ایک تیز طریقہ ہے۔ اور مائیکروسافٹ کا ایکسل VBA حوالہ۔ اگر آپ تکنیکی جواب کے لیے اس کے ذریعے کھدائی کرنا چاہتے ہیں تو مددگار ثابت ہوسکتا ہے۔

ایک بار جب آپ بنیادی باتوں سے مطمئن ہوجائیں تو ، آپ VBA جیسی چیزوں کا استعمال شروع کرسکتے ہیں۔ ایکسل سے ای میل بھیجنا ، آؤٹ لک کاموں کو برآمد کرنا ، اور اپنے کمپیوٹر کی معلومات کو ظاہر کرنا۔

ٹیبل کو لفظ میں کیسے گھمائیں
بانٹیں بانٹیں ٹویٹ ای میل۔ یہ ہے کہ ایف بی آئی نے Hive Ransomware کے لیے انتباہ کیوں جاری کیا۔

ایف بی آئی نے ransomware کے خاص طور پر گندے تناؤ کے بارے میں انتباہ جاری کیا۔ یہاں آپ کو Hive ransomware سے خاص طور پر ہوشیار رہنے کی ضرورت ہے۔

اگلا پڑھیں۔
متعلقہ موضوعات۔
  • پیداوری
  • سپریڈ شیٹ
  • مائیکروسافٹ ایکسل۔
  • مائیکروسافٹ آفس 2016۔
  • میکرو
  • کوڈنگ ٹیوٹوریل
مصنف کے بارے میں پھر البرائٹ۔(506 مضامین شائع ہوئے)

ڈین ایک مواد کی حکمت عملی اور مارکیٹنگ کنسلٹنٹ ہے جو کمپنیوں کو ڈیمانڈ اور لیڈز پیدا کرنے میں مدد کرتا ہے۔ وہ حکمت عملی اور مواد کی مارکیٹنگ کے بارے میں بلاگ کرتا ہے dannalbright.com پر۔

ڈین البرائٹ سے مزید

ہماری نیوز لیٹر کو سبسکرائب کریں

ٹیک ٹپس ، جائزے ، مفت ای بکس ، اور خصوصی سودوں کے لیے ہمارے نیوز لیٹر میں شامل ہوں!

سبسکرائب کرنے کے لیے یہاں کلک کریں۔