VBA StrComp | StrComp فنکشن کا استعمال کرتے ہوئے VBA میں اسٹرنگ کا موازنہ کریں
ایکسل VBA StrComp فنکشن
VBA StrComp یہ ایک بلٹ ان فنکشن ہے جس کا موازنہ کرنے کے لئے استعمال کیا جاتا ہے کہ آیا دونوں سٹرنگ ویلیوز ایک ہیں یا نہیں۔ تاہم ، نتائج کو ڈیفالٹ نہیں کیا جاتا ہے جھوٹے یا غلط جیسے ورک شیٹ میں بلکہ یہ مختلف ہے۔
اس سے پہلے کہ ہم نتائج دیکھیں ، مجھے پہلے آپ کو StrComp فنکشن کا نحو دکھائوں۔
- سٹرنگ 1: سٹرنگ 1 وہ پہلا تار یا قدر ہے جس کا ہم موازنہ کررہے ہیں۔
- سٹرنگ 2: سٹرنگ 2 دوسری تار یا قدر ہے جس کا موازنہ ہم کر رہے ہیں سٹرنگ 1.
- موازنہ کریں: ہم یہاں تین اختیارات فراہم کرسکتے ہیں۔
- 0 = ثنائی موازنہ یہ معاملہ حساس حساب کتاب کرتا ہے۔ مثال کے طور پر "ہیلو" "ہیلو" کے برابر نہیں ہے کیونکہ دونوں ہی الفاظ کے معاملے مختلف ہیں۔ اگر آپ اس پیرامیٹر کو نظرانداز کرتے ہیں تو یہ پہلے سے طے شدہ قدر ہے۔ vbBinaryCompare
- 1 = متن کا موازنہ کریں۔ یہ آپشن غیر معاملہ حساس حساب کو انجام دیتا ہے۔ مثال کے طور پر "ہیلو" "ہیلو" ایونٹ کے برابر ہے حالانکہ دونوں الفاظ کے معاملے مختلف ہیں۔ vbTextCompare
- 2 = رسائی کا موازنہ یہ ڈیٹا بیس کا موازنہ انجام دیتا ہے۔
سٹرنگ موازنہ (StrComp) فنکشن کے نتائج
جیسا کہ میں نے بتایا کہ جب ہم ورکشیٹ میں دو اقدار کا موازنہ کرتے ہیں تو ہمیں نتیجہ سچ یا غلط کے طور پر ملتا ہے۔ لیکن وی بی اے سٹرنگ کے موازنہ تقریب کے نتائج ایک جیسے نہیں ہیں۔
- جب ہمیں صفر (0) ملتا ہے سٹرنگ 1 مساوی ہے سٹرنگ 2۔
- ہمیں ایک ملتا ہے (1) جب سٹرنگ 1 قدر سے زیادہ ہے سٹرنگ 2 قدر.
- جب ہمیں مائنس ون (-1) ملتا ہے سٹرنگ 1 قدر سے کم ہے سٹرنگ 2
- جب ہمیں NULL ملتا ہے سٹرنگ 1 یا سٹرنگ 2 قیمت NULL ہے۔
VBA StrComp فنکشن کو استعمال کرنے کی مثالیں
آپ یہ VBA StrComp Excel سانچہ ڈاؤن لوڈ کرسکتے ہیں۔ VBA StrComp Excel سانچہمثال # 1
آئیے ایک آسان مثال کے ساتھ شروع کرتے ہیں۔ مثال کے طور پر ، ہم دو اقدار کا موازنہ کریں گے یعنی "ایکسل وی بی اے" اور "ایکسل وی بی اے"۔
کوڈ:
سب StrComp_Example1 () ڈم فرسٹ ویلیو کو اسٹرنگ کے طور پر 'اسٹرنگ کے 1 اسٹول کو ذخیرہ کرنے کے لئے ڈیم سیکنڈ ویلیو کو اسٹرنگ کے طور پر اسٹور کرنے کے ل 2' Str 2 Dim Result String کے طور پر اسٹورکیمپ فارمولہ کے نتائج کو اسٹور کرنے کے لئے '"ایکسل VBA"' اسٹرنگ 1 ویلیو سیکنڈ ویلیو کو تفویض کریں۔ "ایکسل وی بی اے" 'اسٹرنگ 2 ویلیو کو تفویض کریں نتیجہ = سٹرککمپ (فرسٹ ویلیو ، سیکنڈ ویلیو ، وی بی بائنریکمپئر)' StrComp فنکشن لاگو کریں MsgBox نتیجہ 'پیغام باکس میں نتیجہ دکھائیں آخر سب
جب میں اس کوڈ کو چلاؤں گا تو ہمیں زیرو مل جائے گا (0) دونوں کے نتیجے میں سٹرنگ 1 اور سٹرنگ 2 اقدار ایک جیسی ہیں۔
مثال # 2
اب میں دو الفاظ کے معاملات بدل دوں گا۔
سٹرنگ 1 = ایکسل وی بی اے
سٹرنگ 2 = ایکسل وی بی اے
کوڈ:
سب StrComp_Example2 () ڈم فرسٹ ویلیو کو اسٹرنگ کے طور پر 'اسٹرنگ کے 1 اسٹول کو ذخیرہ کرنے کے لئے Dim سیکنڈ ویلیو String 2 اسٹور کے طور پر Dim Result اسٹور کرنے کے ل' 'StrComp فارمولہ کا نتیجہ ذخیرہ کرنے کے لئے فرسٹ ویلیو = "ایکسل Vba"' سٹرنگ 1 ویلیو سیکنڈ ویلیو = تفویض کریں۔ "ایکسل وی بی اے" 'اسٹرنگ 2 ویلیو کو تفویض کریں نتیجہ = سٹرککمپ (فرسٹ ویلیو ، سیکنڈ ویلیو ، وی بی بائنریکمپئر)' StrComp فنکشن لاگو کریں MsgBox نتیجہ 'پیغام باکس میں نتیجہ دکھائیں آخر سب
جب میں اس کوڈ کو چلاؤں گا تو ہمیں مل جائے گا 1 کیونکہ چونکہ ہم نے "vbBinaryCompare " یہ کیس حساس حروف کی جانچ کرے گا۔
اب میں تبدیل کروں گا موازنہ "سے آپشنvbBinaryCompare " سے “vbTextCompare "
کوڈ:
سب StrComp_Example3 () ڈم فرسٹ ویلیو کو اسٹرنگ کے طور پر 'اسٹرنگ کے 1 اسٹول کو ذخیرہ کرنے کے لئے Dim سیکنڈ ویلیو کو اسٹرنگ کے طور پر اسٹور کرنے کے ل 2' Dim Result String 2 'اسٹورکیمپ فارمولا کے نتائج کو اسٹور کرنے کے لئے فرسٹ ویلیو = "ایکسل Vba"' اسٹرنگ 1 ویلیو سیکنڈ ویلیو کو تفویض کریں۔ "ایکسل وی بی اے" 'اسٹرنگ 2 ویلیو کو تفویض کریں نتیجہ = سٹرککمپ (فرسٹ ویلیو ، سیکنڈ ویلیو ، vbTextCompare)' StrComp فنکشن لاگو کریں MsgBox نتیجہ 'میسج باکس میں نتیجہ دکھائیں آخر سب
اس کے ساتھ موازنہ کریں ، ہمیں صفر مل جائے گا (0) کیونکہ vbaTextCompare کیس حساس الفاظ کو نظرانداز کریں۔
مثال # 3
اگر حالات کے ساتھ VBA StrComp کا کیس اسٹڈی
فرض کریں کہ آپ کے پاس مندرجہ ذیل تصویر کی طرح ڈیٹا ہے۔
ہمیں موازنہ کرنے کی ضرورت ہے سٹرنگ 1 کے ساتھ سٹرنگ 2 اور پہنچیں نتیجہ بطور "عین مطابق" اگر دونوں ایک جیسے ہیں ، بصورت دیگر نتیجہ "عین مطابق نہیں" ہونا چاہئے۔
مندرجہ ذیل کوڈ ہمارے لئے کام کرے گا۔
کوڈ:
سب StrComp_Example4 () ڈم نتیجہ سٹرنگ ڈم I کے طور پر انٹیجر کے طور پر I = 2 سے 6 نتیجہ = StrComp (سیل (i، 1). قیمت، سیل (i، 2). قیمت) اگر نتیجہ = 0 پھر سیل (i، 3) ) .Value = "عین مطابق" دوسرا سیل (i، 3). ویلیو = "بالکل درست نہیں" اختتام اگلا i سب سب ختم ہوتا ہے
جب میں ایکسل میں مندرجہ بالا وی بی اے کوڈ چلاتا ہوں تو ہمیں مندرجہ ذیل نتیجہ ملے گا۔
اگر آپ سی 4 سیل کو دیکھیں سٹرنگ 1 اور سٹرنگ 2 ایک جیسے ہیں لیکن حروف کیس حساس ہیں ، لہذا نتیجہ "حقیقت میں نہیں ہے"۔ اس مسئلے پر قابو پانے کے لئے ہمیں موازنہ کی فراہمی کی ضرورت ہے vbTextCompare.
ذیل میں C4 سیل کے لئے "عین مطابق" کے بطور نتیجہ حاصل کرنے کے لئے نظر ثانی شدہ کوڈ ہے۔
کوڈ:
سب StrComp_Example4 () ڈم رزلٹ جیسے سٹرنگ ڈم I انٹیجر کے طور پر i = 2 سے 6 نتیجہ = StrComp (سیل (i، 1). ویلیو، سیلز (i، 2). ویلیو، vbTextCompare) اگر نتیجہ = 0 پھر سیل (i ، 3) .Value = "عین مطابق" دوسرا سیل (i، 3). ویلیو = "بالکل درست نہیں" اختتام اگلے i سب سے آخر میں
یہ کوڈ درج ذیل نتائج کو واپس کرے گا۔