وی بی اے جوائن | ایکسل وی بی اے میں شامل ہونے کی فیکس بہ قدم مثالوں

اسی طرح کی جو ہمارے پاس ورکشیٹ میں بطور کنیکٹنٹیٹ فنکشن ہے اور & کمانڈ جو دو یا دو سے زیادہ ڈور میں ایک ساتھ شامل ہونے کے لئے استعمال ہوتا ہے ، وی بی اے میں ہم ایسا کرنے کے لئے جوائنٹ کمانڈ کا استعمال کرتے ہیں ، وی بی اے میں شامل ہونے میں ہم ڈیری کا ماخذ ایک صف میں لیتے ہیں۔ اور کنکینٹیشن کی طرح ہم ان میں شامل ہونے کے لئے ایک حد بندی استعمال کرتے ہیں۔

ایکسل وی بی اے فنکشن میں شامل ہوں

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

فنکشن کا نحو ہے

جیسا کہ ہم دیکھ سکتے ہیں ، فنکشن دو دلائل لیتا ہے اور ایک تار واپس کرتا ہے۔ دلائل یہ ہیں:

  1. SourceArray: ہمیں سب اسٹورنگز کے ایک صف کو متعین کرنے یا ان کا حوالہ دینے کی ضرورت ہے جن میں شامل ہونا ہے۔
  2. ڈیلییمٹر: حتمی سٹرنگ تشکیل دیتے وقت ڈیلیمٹر سب سبسٹرنگز کو الگ کرنے کے لئے استعمال ہوتا ہے۔ چونکہ یہ ایک اختیاری دلیل ہے ، اگر ہم اسے چھوڑ دیتے ہیں تو ، حد بندی ایک جگہ بن جاتی ہے۔

وی بی اے سپلیٹ فنکشن وی بی اے جوائن فنکشن کا عین مطابق مخالف فعل ہے۔

وی بی اے فنکشن میں شامل ہونے کی مثالیں

ذیل میں ایکسل وی بی اے میں شامل ہونے والے فنکشن کی مثالیں ہیں۔

آپ یہ وی بی اے جوائن فنکشن ایکسل سانچہ یہاں ڈاؤن لوڈ کرسکتے ہیں - وی بی اے فنکشن ایکسل ٹیمپلیٹ میں شامل ہوں

وی بی اے جوائن کریں - مثال # 1

فرض کریں ، ہم پہلا (رمیش) ، وسط (کمار) ، اور آخری نام (مشرا) میں شامل ہونا چاہتے ہیں۔

اقدامات یہ ہوں گے:

  • پہلے ، ہمیں بصری بنیادی ایڈیٹر کھولنے کی ضرورت ہے۔ ہم 'ڈویلپر' ٹیب ایکسل کے تحت 'کوڈ' گروپ میں 'بصری بنیادی' کمانڈ پر کلک کرکے بھی ایسا کرسکتے ہیں یا ہم ایکسل شارٹ کٹ کی کو استعمال کرسکتے ہیں۔ Alt + F11.

  • ماڈیول کو "شیٹ 1" پر دائیں کلک کرکے اور سیاق و سباق کے مینو میں سے "داخل کریں" کمانڈ منتخب کرکے داخل کریں اور پھر داخل کرنے کے لئے 'ماڈیول' منتخب کریں۔

  • ایک سبروٹائن بنائیں جس کا نام ہے ‘جوائننگ نیام’۔

کوڈ:

 سب شمولیت نام () اختتام سب 

  • JOIN فنکشن کو مندرجہ ذیل استعمال کریں

کوڈ:

 سب شمولیت نام () حد ("D2")۔ قیمت = شامل (صف ("رمیش"، "کمار"، "مشرا")) اختتام سب 

ہم دیکھ سکتے ہیں کہ ہم نے JRIN فنکشن کو SourceArray فراہم کرنے کے لئے ARRAY فنکشن کا استعمال کیا ہے اور ڈلیمیٹر کی خصوصیت کی وضاحت کرنے کے لئے چھوڑ دیا ہے تاکہ 'اسپیس' ڈیفالٹ کریکٹر ہو۔ جب ہم اس کوڈ کو F5 کلید کا استعمال کرتے ہوئے یا دستی طور پر استعمال کرتے ہیں تو JOIN فنکشن کی پروسیسڈ ویلیو سیل D2 میں لکھی جائے گی۔

وی بی اے شمولیت - مثال # 2

فرض کیج. ، ہم اس شے کے نام کے ساتھ مختلف ایکسل فائلیں بنانا چاہتے ہیں جس میں صرف اس شے کی فروخت ہوگی۔

  • شارٹ کٹ کلید Alt + F11 کا استعمال کرتے ہوئے بصری بنیادی ایڈیٹر کھولیں۔
  • سیاق و سباق کے مینو کو کھولنے کے لئے ‘شیٹ 1 ′ (مثال 2)’ شیٹ پر دائیں کلک کریں اور وی بی اے پروجیکٹ میں وی بی اے ‘ماڈیول’ داخل کرنے کے لئے ’داخل کریں‘ پر دبائیں۔

  • ’کریٹ آئٹمسولڈفائلز‘ کے نام سے ایک سبروٹائن متعین کریں۔

کوڈ:

 سب کریٹ آئٹمسولڈفائل () اختتام سب 

  • ہمیں ٹولز مینو -> حوالہ جات… کمانڈ کا استعمال کرتے ہوئے ‘مائیکروسافٹ اسکرپٹنگ رن ٹائم’ آبجیکٹ لائبریری کا حوالہ ترتیب دینے کی ضرورت ہے ، کیونکہ ہم کچھ کوڈ (اشیاء) استعمال کریں گے ، جو کام نہیں کرے گا اگر ہم اس آبجیکٹ لائبریری کو شامل نہ کریں۔

  • اب ہم تمام متغیرات کا اعلان کریں گے۔

کوڈ:

 دھیان FSO بطور نئی اسکرپٹنگ ۔فائل سسٹم آبجیکٹ

مذکورہ بالا FSO متغیر VBA فائل سسٹم آبجیکٹ تک رسائی فراہم کرتا ہے۔ پابند ہونے کے بعد ، ہم فنڈز جیسے بلڈپاتھ ، کاپی فائل ، تخلیق ٹیکسٹفائل ، وغیرہ کا استعمال کرسکتے ہیں۔

  • اگلا بیان ٹیکسٹ اسٹریم آبجیکٹ تیار کرتا ہے۔ ٹیکسٹ اسٹریم آبجیکٹ کے ذریعہ ، ہم اصل فائل سے پڑھ سکتے ہیں یا اس سے مل سکتے ہیں۔

کوڈ:

 مدھ FSO بطور نئی اسکرپٹنگ ۔فائل سسٹم آبجیکٹ دیم ts بطور اسکرپٹنگ۔ ٹیکسٹ اسٹریم

  • ہم مزید متغیرات کا اعلان کریں گے۔ 'r' رینج میں قطاریں رکھنے کے لئے ہے ، 'fs' حتمی جوائنڈ سٹرنگ کو اسٹور کرنے کے لئے ہے ، 'کالس' حد میں کالموں کی تعداد کو اسٹور کرنے کے لئے ، 'فولپاتھ' فولڈر کا راستہ اسٹور کرنے کے لئے ہے تاکہ ہم فائلوں کو محفوظ کرسکیں۔ ان ناموں کے ساتھ فائل بنانے کے لold مختلف آئٹم کے ناموں کو اسٹور کرنے کیلئے فولڈر میں اور 'Items_Sold' میں۔

کوڈ:

 ڈم آر جیسا رینج ڈم ایف ایس اسٹرنگ ڈیم کالس جیسا انٹریجر ڈم فولپاتھ اسٹرنگ ڈم آئٹمس سولنگ کے طور پر اسٹول 

  • حد میں کالموں کی کل تعداد گننے کے ل To ، ہم مندرجہ ذیل بیان کی وضاحت کریں گے۔

کوڈ:

کالس = رینج ("A1")۔ کرنٹریجن ڈاٹ کام ۔کاؤنٹس

یہ بیان پہلے سیل A1 کے لئے موجودہ خطے کا انتخاب کرے گا اور پھر موجودہ خطے میں کالموں کی کل تعداد گنائے گا۔

  • ہم متغیر ‘فولپاتھ’ کو VBA ENVIRON فنکشن اور کنیکٹیشن آپریٹر کا استعمال کرتے ہوئے ایک راستہ تفویض کرنے کے لئے درج ذیل بیانات لکھیں گے۔

کوڈ:

فولپاتھ = ماحول ("یوزرپروفائل") اور "top ڈیسک ٹاپ te آئٹمز سیلڈ" اگر FSO.FolderExists (FolPath) نہیں ہیں تو FSO.CreateFolder FolPath

دوسرا بیان فولڈر تشکیل دے گا اگر فولڈر اسی جگہ پر موجود نہیں ہے۔

  • یہ کوڈ ایک ایک کرکے بی کالم کی اقدار تفویض کرے گا ‘آئٹمز سولاڈ’ ہم نے B کالم میں سیل کا حوالہ حاصل کرنے کے لئے ‘آفسٹی فنکشن’ استعمال کیا ہے کیونکہ موجودہ منتخب سیل کالم A میں ہے۔

کوڈ:

اشیا_سولڈ = آر۔اوفسیٹ (0 ، 1). قیمت

  • مندرجہ ذیل بارڈرڈ بیان سے ’آئٹمز سولڈ‘ متغیر میں شامل ناموں والی فائلوں کو ایک دوسرے کے بعد ضمیمہ موڈ میں کھولا جائے گا (نئی قدریں آخر میں شامل کی جائیں گی)۔

کوڈ:

 ts = FSO.OpenTextFile (فولپاتھ اور "\" & آئٹمز_سولڈ اور ". xls" ، منتقلی ، سچ ہے) سیٹ کریں

ہم نے کنسلٹنٹ آپریٹر کو متغیرات 'فولپاتھ' اور 'آئٹمز سولڈ' اور جامد اقدار ("\" اور ".xls") کے ساتھ استعمال کیا ہے تاکہ ایکسل فائلوں کے فائل نام بنائیں۔

  • ہمیں یہ ذہن میں رکھنے کی ضرورت ہے کہ VBA JOIN فنکشن ایک ہی جہتی صف کو بطور SourceArray لیتا ہے ، قطاروں کو ایک جہتی صف میں تبدیل کرنے کے ل we ، ہمیں ایپلی کیشن ٹرانس ٹپوس طریقہ دو بار استعمال کرنے کی ضرورت ہے۔

کوڈ:

fs = join (ایپلیکیشن.ٹرانسپز (ایپلی کیشن ٹرانسپوز (r.Resize (1 ، کالس). ویلیو)) ، vbTab)

رینج کے بہت سارے کالموں کی چوڑائی کی حد کو تبدیل کرنے کیلئے ہم نے رینج آبجیکٹ کا سائز تبدیل کرنے کا طریقہ استعمال کیا ہے۔

حد بندی کے طور پر ، ہم نے ‘vbTab’ کلیدی لفظ استعمال کیا ہے تاکہ مختلف خلیوں میں اقدار کو پُر کیا جائے۔

  • جیسا کہ ہم نے JOIN فنکشن کی پروسیسڈ ویلیو کو 'fs' متغیر میں اسٹور کیا ہے ، ہم Vs کی نئی لائنوں میں Fs کی ویلیوز لکھ کر لکھیں گے ، اپنی اصل فائل میں قطار کے 2 سے لے کر آخری قطار تک ہر لائن کے لئے ایکسل فائلز بنائیں (ہمارے معاملے میں یہ 350 ویں قطار ہے)۔

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

اب ہم نے پورا کوڈ لکھا ہے۔

کوڈ:

 سب کریٹ آئٹمسولڈفائلز) نئی اسکرپٹنگ کے طور پر ڈم ایف ایس او فولپاتھ = ماحول ("صارفپروفائل") اور "top ڈیسک ٹاپ te آئٹمز سولڈ" اگر FSO.FolderExists (فولپاتھ) نہیں ہیں تو FSO.CreateFolder FolPath ہر رینج کے لئے ("A2" ، حد ("A1")۔ اختتام (xlDown) ) آئٹمز_سولڈ = آر۔اوفسیٹ (0 ، 1). ویلیو سیٹ ts = FSO.OpenTextFile (FolPath & "\" & Items_Sold & ".xls"، ForAppending، True) fs = شمولیت (ایپلیکیشن۔ ٹرانسپوز (ایپلی کیشن) . نیا سائز دیں (1 ، کالس). ویلیو)) ، vbTab) ts.WriteLine fs ts. بند کریں اگلا r آخر سب 

اب کوڈ کو عملی جامہ پہنانے کے ل we ، پھر ہم F5 دبائیں گے ، ہم دیکھ سکتے ہیں کہ ڈیسک ٹاپ پر VBA کوڈ کی مدد سے ‘Items_Sold’ نامی ایک فولڈر تشکیل دیا گیا ہے۔

فولڈر میں ، شے کے ناموں کے ساتھ 7 انوکھی فائلیں بنی ہیں اور ہم فائلوں میں صرف اس مخصوص آئٹم کے بارے میں تفصیلات حاصل کرسکتے ہیں۔

لیپ ٹاپ ایکس ایل

وی بی اے کے شامل ہونے والے فنکشن کے بارے میں یاد رکھنے کی باتیں

  • SourceArray ایک جہتی صف ہونا چاہئے۔ ہم کسی فرد سیل کا حوالہ نہیں دے سکتے ہیں ، کیونکہ اس سے متعدد کثیر جہتی صفیں پیدا ہوں گی۔
  • اگر ہم صفر کی لمبائی کے تار ("") کو ڈلیمیٹر کے طور پر بتاتے ہیں تو صف میں موجود تمام آئٹمز کو بغیر کسی حد بند کرنے والے کے ساتھ حاصل کیا جاتا ہے۔