فہرست کا خانہ
VBA کو نافذ کرنا سب سے مؤثر، تیز ترین اور محفوظ ترین طریقہ ہے۔ اس آرٹیکل میں، ہم آپ کو دکھائیں گے کہ کس طرح ایکسل میں VBA کا استعمال کرتے ہوئے کسی اور دی گئی سٹرنگ میں کچھ سٹرنگز تلاش کریں۔
پریکٹس ٹیمپلیٹ ڈاؤن لوڈ کریں
آپ یہاں سے مفت پریکٹس ایکسل ٹیمپلیٹ ڈاؤن لوڈ کر سکتے ہیں۔
String.xlsm میں تلاش کرنے کے لیے VBA
InStr فنکشن
مائیکروسافٹ ایکسل میں ایک بلٹ ان فنکشن ہے جسے InStr فنکشن کہا جاتا ہے تاکہ کسی مخصوص اسٹرنگ میں مخصوص اسٹرنگ کی پوزیشن معلوم کی جاسکے۔
Generic Syntax:
InStr([start], string1, string2, [compare])
یہاں،
13>دلائل | ضروری/ اختیاری | تعریف |
---|---|---|
شروع کریں | اختیاری | تلاش کی شروعاتی پوزیشن۔
|
سٹرنگ2 | درکار ہے | پرائمری سٹرنگ میں تلاش کرنے کے لیے اسٹرنگ . |
موازنہ | اختیاری | InStr فنکشن بطور ڈیفالٹ کیس حساس ہوتا ہے۔ لیکن اگر آپ کیس غیر حساس InStr چلانا چاہتے ہیں، تو آپ ایک خاص موازنہ کرنے کے لیے یہاں دلیل دے سکتے ہیں۔ یہ دلیل درج ذیل ہو سکتی ہے۔اقدار،
بطور ڈیفالٹ، InStr vbBinaryCompare کو موازنہ دلیل کے طور پر لیتا ہے۔ |
1 1 سٹرنگ میں متن کی پوزیشن۔ - اپنے کی بورڈ پر Alt + F11 دبائیں یا ٹیب پر جائیں Developer -> بصری بنیادی کھولنے کے لیے Visual Basic Editor .
- پاپ اپ کوڈ ونڈو میں، مینو بار سے پر کلک کریں داخل کریں -> ماڈیول ۔
- اب کوڈ ونڈو میں، ایک VBA سب کے اندر ایک سادہ InStr پروگرام لکھیں۔ طریقہ کار (نیچے دیکھیں)۔
8600
آپ کا کوڈ اب چلنے کے لیے تیار ہے۔
- دبائیں F5 اپنے کی بورڈ پر یا مینو بار سے منتخب کریں چلائیں -> ذیلی/یوزر فارم چلائیں۔ آپ میکرو کو چلانے کے لیے ذیلی مینو بار میں موجود چھوٹے پلے آئیکن پر بھی کلک کر سکتے ہیں۔
آپ دیکھیں گے کہ پاپ اپ میسج باکس آپ کو ایک نمبر دے گا۔متن کی پوزیشن کا اعلان کرنا جسے آپ چیک کرنا چاہتے ہیں۔
وضاحت:
ہماری بنیادی تار، “ خوشی is a choice " 21 حروف کا جملہ ہے (خالی جگہوں کے ساتھ) اور ہم اس سٹرنگ میں " چوائس " ٹیکسٹ کی پوزیشن تلاش کرنا چاہتے تھے۔ متن " چوائس " بنیادی سٹرنگ کی 16ویں پوزیشن سے شروع ہوا، اس لیے ہمیں میسج باکس میں اپنے آؤٹ پٹ کے طور پر نمبر 16 ملا۔
2۔ سٹرنگ میں مخصوص پوزیشن سے متن تلاش کرنے کے لیے VBA
اب آئیے معلوم کریں کہ اگر ہم کسی مخصوص نمبر سے پوزیشن حاصل کرنا چاہتے ہیں تو کیا ہوگا۔
- اسی طرح اس سے پہلے، Developer ٹیب سے Visual Basic Editor کھولیں اور کوڈ ونڈو میں Insert a Module ۔
- میں کوڈ ونڈو میں، اوپر دکھایا گیا ایک سادہ InStr پروگرام لکھیں اور ابتدائی دلیل میں اس پوزیشن کے مطابق ویلیو پاس کریں جس سے آپ اپنے متن کو گننا چاہتے ہیں۔
1936
- اگلا، چلائیں کوڈ۔
آپ دیکھیں گے کہ پاپ اپ میسج باکس آپ کو ایک نمبر دیں جس میں متن کی پوزیشن کا اعلان کریں کسی خاص پوزیشن سے شروع ہو کر جسے آپ چیک کرنا چاہتے ہیں۔
وضاحت:
جیسا کہ ہم پہلے ہی جانتے تھے (مرحلہ 1 کی بحث سے) کہ متن " انتخاب " 16 کی پوزیشن سے شروع ہوا، لہذا ہم نے دو " انتخاب " بنیادی سٹرنگ میں اور 17 کو ہمارے بطور سیٹ کریںپہلی " انتخاب " کو چھوڑنے کے لیے پہلا پیرامیٹر۔ لہذا، ہم نے اوپر والے میکرو کو چلایا اور اس نے ہمیں پوزیشن نمبر 27 دکھایا جو بالکل سیکنڈ " چوائس " کا پوزیشن نمبر ہے۔ دی گئی سٹرنگ میں۔
3۔ اسٹرنگ میں کیس غیر حساس InStr فنکشن کے ساتھ متن تلاش کرنے کے لیے VBA
InStr فنکشن کے تعارف سے آپ پہلے سے ہی جانتے ہیں کہ ڈیفالٹ کے طور پر، InStr فنکشن کیس حساس ہے. آئیے اسے ایک مثال سے تلاش کرتے ہیں۔
مندرجہ ذیل VBA کوڈ دیکھیں، جہاں ہم لفظ " چوائس کی پوزیشن تلاش کرنا چاہتے تھے۔ سٹرنگ میں کیپٹل "C" کے ساتھ " خوشی ایک انتخاب ہے " جہاں انتخاب کو چھوٹے "c" کے ساتھ لکھا جاتا ہے۔ .
- چلائیں کوڈ اور 0 کو ہمارے آؤٹ پٹ کے طور پر تلاش کریں۔
اس کی وجہ یہ ہے کہ InStr فنکشن کیپٹل "C" اور چھوٹے "c" کو مختلف طریقے سے ٹریٹ کرتا ہے۔ لہذا اس نے سٹرنگ میں لفظ " چوائس " تلاش کیا اور کوئی مماثلت نہیں ملی، لہذا واپس آ گیا 0 ۔
- <17 InStr فنکشن کیس غیر حساس بنانے کے لیے، موازنہ دلیل کو vbTextCompare پر سیٹ کریں (نیچے دیکھیں)۔
7379
- چلائیں کوڈ۔ 19>
- اگر ہم مندرجہ ذیل کوڈ کو InStr فنکشن کے ساتھ چلاتے ہیں تو،
- لیکن اگر ہم اسی کوڈ کو InStrRev فنکشن کے ساتھ چلاتے ہیں تو،
- ایکسل میں VBA کا استعمال کرتے ہوئے اگلا تلاش کریں (2 مثالیں)
- VBA کا استعمال کرتے ہوئے کیسے تلاش کریں اور تبدیل کریں (11 طریقے)
- ایکسل میں VBA کا استعمال کرتے ہوئے عین مطابق میچ تلاش کریں (5 طریقے)
- کاپی کریں کوڈ کو اپنی VBA کوڈ ونڈو
آپ کو متن کی پوزیشن ملے گی۔ اسٹرنگ سے، چاہے ٹیکسٹ کیپیٹل حروف میں لکھا گیا ہو یا چھوٹے حروف میں۔
4. سٹرنگ کے دائیں طرف سے متن تلاش کرنے کے لیے VBA
اب تک InStr فنکشن ہمیں سٹرنگ کے بائیں جانب سے پوزیشن دے رہا تھا۔ لیکن کیا ہوگا اگر آپ سٹرنگ کے دائیں جانب سے ٹیکسٹ پوزیشن تلاش کرنا چاہتے ہیں۔
InStrRev فنکشن دائیں طرف سے تلاش کرتا ہے۔ InStrRev فنکشن InStr فنکشن کی طرح کام کرتا ہے اور یہ آپ کو اسٹرنگ کے دائیں جانب سے متن کی پوزیشن تلاش کرے گا۔
فرق کو سمجھنے کے لیے درج ذیل مثالیں دیکھیں۔
یہ ہمیں پہلے متن " انتخاب " کی پوزیشن ( 16 ) دیتا ہے۔
یہ ہمیں پوزیشن فراہم کرتا ہے۔ ( 27 ) آخری متن " انتخاب ".
اسی طرح کی ریڈنگز:
5۔ سٹرنگ میں کسی کریکٹر کی پوزیشن تلاش کرنے کے لیے VBA
آپ اسٹرنگ میں کسی مخصوص کریکٹر کی پوزیشن بھی اسی طرح تلاش کر سکتے ہیں جس طرح آپ کو متن ملا ہے۔
8621
- اور چلائیں میکرو میں۔
ہماری دی گئی سٹرنگ میں پہلا " e " ہےنمبر 7 پوزیشن۔
6۔ سٹرنگ میں سبسٹرنگ تلاش کرنے کے لیے VBA
یہاں ہم سیکھیں گے کہ اسٹرنگ میں سبسٹرنگ ہے یا نہیں۔
اسے حاصل کرنے کے لیے، ہمارے پاس ہے ہمارے کوڈ میں IF اسٹیٹمنٹ چلانے کے لیے۔
- پہلے کی طرح، Developer ٹیب سے Visual Basic Editor کھولیں اور کوڈ ونڈو میں داخل کریں ایک ماڈیول ۔
- کوڈ ونڈو میں، درج ذیل کوڈ کو کاپی کریں اور اسے پیسٹ کریں۔
7680
آپ کا کوڈ اب چلانے کے لیے تیار ہے۔
- چلائیں میکرو۔
اگر آپ کی سٹرنگ میں ذیلی اسٹرنگ ہے تو آپ کو ایک مماثل ملا ملے گا، بصورت دیگر، یہ کوئی مماثلت نہیں ملے گا۔ ہماری مثال میں، ہم یہ جاننا چاہتے تھے کہ آیا ہماری بنیادی سٹرنگ " خوشی ایک انتخاب ہے " میں لفظ " چوائس " ہے یا نہیں جیسا کہ یہ ہوتا ہے، ہمیں ایک مماثل ملا نتیجہ ملتا ہے۔
7۔ سیل رینج میں سٹرنگ تلاش کرنے کے لیے VBA
آپ سٹرنگ کی سیل رینج میں ایک مخصوص ٹیکسٹ تلاش کر سکتے ہیں اور ایک مخصوص سٹرنگ واپس کر سکتے ہیں۔
مندرجہ ذیل مثال کو دیکھیں جہاں ہم " ڈاکٹر " تلاش کریں اور جب کوئی میچ ہو گا تو یہ " ڈاکٹر " واپس آئے گا۔
- ذیل میں اوپر زیر بحث نتیجہ حاصل کرنے کے لیے کوڈ ہے،
7331
- چلائیں کوڈ اور نتیجہ ذیل میں دکھایا گیا ہے
- آپ اپنی ضرورت کے مطابق میکرو میں ترمیم کرسکتے ہیں۔ مثال کے طور پر، اگر آپ چاہتے ہیںسٹرنگ کے کسی بھی سیل میں " پروفیسر " تلاش کرنے کے لیے، اور واپسی کے طور پر " پروفیسر " حاصل کریں، پھر صرف "<1" کو پاس کریں۔ پروفیسر " بطور قدر کے بجائے " ڈاکٹر ۔" میکرو کی چوتھی لائن میں اور " ڈاکٹر " کی بجائے " پروفیسر " کو میکرو کی 5ویں لائن میں اور وضاحت کریں اس کے مطابق سیل رینج نمبر۔
8۔ سیل میں سٹرنگ تلاش کرنے کے لیے VBA
آپ سٹرنگ کے ایک سیل میں مخصوص ٹیکسٹ تلاش کر سکتے ہیں اور ایک مخصوص سٹرنگ واپس کر سکتے ہیں۔
- مندرجہ ذیل کوڈ کو کاپی کریں اور اسے کوڈ ونڈو میں چسپاں کریں۔
9777
یہ “ ڈاکٹر <2 کو تلاش کرے گا۔>" سیل B5 میں اور اگر یہ مماثلت پاتا ہے تو سیل C5 میں " ڈاکٹر " لوٹاتا ہے۔
- آپ اپنی ضرورت کے مطابق میکرو میں ترمیم کرسکتے ہیں۔ مثال کے طور پر، اگر آپ سٹرنگ کے کسی بھی سیل میں " پروفیسر " تلاش کرنا چاہتے ہیں، اور واپسی کے طور پر " پروفیسر " حاصل کرنا چاہتے ہیں، پھر صرف " Dr " کی بجائے " پروفیسر " کو قدر کے طور پر پاس کریں۔ میکرو کی دوسری لائن میں اور میکرو کی تیسری لائن میں " ڈاکٹر " کے بجائے " پروفیسر " اور وضاحت کریں اس کے مطابق سیل حوالہ نمبر۔
نتیجہ
اس مضمون نے آپ کو دکھایا کہ کس طرح VBA میکرو کا استعمال کرتے ہوئے ایکسل میں سٹرنگ میں کچھ متن تلاش کریں۔ مجھے امید ہے کہ یہ مضمون آپ کے لیے بہت فائدہ مند رہا ہے۔ کے بارے میں کوئی سوال پوچھنے کے لئے آزاد محسوس کریںموضوع۔