وی بی اے اسٹرنگ ٹو ڈیٹ | ایکسل VBA میں اسٹرنگ ویلیوز کو تاریخ میں تبدیل کریں
آج تک کا ایکسل وی بی اے سٹرنگ
وی بی اے میں ایک ایسا طریقہ ہے جس کے ذریعے ہم دی گئی تار کو تاریخ میں تبدیل کرسکتے ہیں ، اور اس طریقہ کو وی بی اے میں سی ڈی اے ٹی فنکشن کہا جاتا ہے ، یہ وی بی اے میں ایک انبلٹ فنکشن ہے اور اس فنکشن کے لئے ضروری حصوں کو پہلے اسٹرنگ میں تبدیل کرنا ہے۔ ایک نمبر اور پھر ہم دیئے گئے نمبر کو تاریخ میں بدل دیتے ہیں۔ نتیجہ کی شکل صرف سسٹم ڈیٹ فارمیٹ پر منحصر ہے۔
ہم سب ایکسل کے ساتھ جو عام پریشانی کا سامنا کرتے ہیں ان میں سے ایک "تاریخ اور وقت" ہے اور اکثر وہ متن کی اقدار کے طور پر ذخیرہ ہوتا ہے اور ابتدائی طور پر کسی کا دھیان نہیں جاتا ہے۔ لیکن جب انہیں اس وقت کا استعمال کرنے کی ضرورت ہوگی تو ہمیں معلوم ہوجائے گا کہ وہ اقدار متن کے بطور ذخیرہ ہیں اور ان کے ساتھ بالکل نمٹنے کا طریقہ نہیں جانتے ہیں۔ "تاریخ اور وقت" ایک عنصر میں دو مشترکہ چیزیں ہیں لیکن ایک بار جب وہ اقدار متن کی اقدار کے طور پر ذخیرہ ہوجاتی ہیں تو اس کے ساتھ کام کرنے میں تکلیف ہوتی ہے۔
تاریخ میں اسٹرنگ ویلیوز کو کس طرح بدلا جائے؟
آپ اس وی بی اے اسٹرنگ ٹو ڈیٹ ایکسل ٹیمپلیٹ ڈاؤن لوڈ کرسکتے ہیں۔ وی بی اے اسٹرنگ ٹو ڈیٹ ایکسل ٹیمپلیٹمثال # 1
ایک بار جب VBA متغیر کا اعلان اور اسٹرنگ کی حیثیت سے تفویض ہوجائے تو ، اس متغیر کو تفویض کردہ کسی بھی چیز کو صرف اسٹرنگ ہی سمجھا جائے گا۔ مثال کے طور پر نیچے کا کوڈ دیکھیں۔
کوڈ:
سب اسٹرنگ_ٹو_ڈیٹ () Dim k As String k = "10-21" MsgBox k End Sub
مذکورہ کوڈ میں متغیر “کے” کو "اسٹرنگ" کوائف ٹائپ سے تعبیر کیا گیا ہے اور اس متغیر کے ل we ہم نے اس کی قیمت "10-21" مقرر کی ہے۔
ٹھیک ہے ، آئیے کوڈ چلائیں اور دیکھیں کہ ہمیں VBA میں میسج باکس میں کیا ملتا ہے۔
ہمیں صرف 10-21 کی حیثیت سے قیمت ملی ہے ، لیکن عام طور پر ، یہ قدریں تاریخ ہوتی ہیں ، سٹرنگ ویلیوز نہیں۔ لہذا اگرچہ تفویض کردہ ڈیٹا کی قسم "سٹرنگ" ہے لیکن ہم پھر بھی ڈیٹا ٹائپ کنورژن فنکشن سی ڈی ای ٹی وی بی اے کے ذریعہ ڈیٹ میں تبدیل ہوسکتے ہیں۔
کوڈ:
سب اسٹرنگ_ٹو_ڈیٹ () Dim k As String k = "10-21" MsgBox CDate (k) اختتام سب
مندرجہ بالا میں ، اس سے پہلے کہ ہم پیغام خانہ میں متغیر “کے” کا نتیجہ دکھائیں ، ہم نے سی ڈی ایٹ کا کام تفویض کیا ہے۔ ایک چھوٹی سی ایڈجسٹمنٹ کی گئی ہے ، آئیے دیکھتے ہیں کہ اس سے کتنا بڑا اثر پڑتا ہے۔
اب ہم نتیجہ کو "تاریخ" کے بطور "اسٹرنگ" ویلیو کی حیثیت سے نہیں دیکھیں گے۔
مثال # 2
اب ، مثال کے لئے نیچے کا کوڈ ملاحظہ کریں۔
کوڈ:
سب اسٹرنگ_ٹو_ڈیٹ () Dim k As String k = 43599 MsgBox k End Sub
مذکورہ بالا وقت میں کوڈ نتیجہ "43599" کے بطور دکھائے گا جیسا کہ ہم نے مندرجہ بالا تفویض کیا ہے۔
لیکن ایک بار جب ہم سی ڈی ایٹ فنکشن کا استعمال کریں گے تو یہ ڈیٹ ویلیو میں تبدیل ہوجائے گا۔
کوڈ:
سب اسٹرنگ_ٹو_ڈیٹ () ڈیم ک اس اسٹرنگ k = 43599 MsgBox CDate (k) اختتامی سب
سی ڈی ای ٹی فنکشن کا اطلاق کرنے کے بعد نتیجہ درج ذیل ہے۔
چونکہ ایکسل نے تاریخ کو سیریل نمبر کے طور پر ذخیرہ کیا ہے جب ہمارا مقرر کردہ سیریل نمبر 43599 تاریخ 05/14/2019 کے برابر ہوتا ہے جب تاریخ کی شکل کا اطلاق ہوتا ہے۔
ہم تاریخ کو درست پڑھنے کے ل “ہم" DD-MMM-YYYY "کے بطور فارمیٹ کا اطلاق بھی کرسکتے ہیں۔
کوڈ:
سب اسٹرنگ_ٹو_ڈیٹ 1 () ڈم ک اسٹرنگ ڈیم ڈیم ویلیو جیسا کہ تاریخ کے =
مندرجہ بالا میں ، میں نے نتیجہ ذخیرہ کرنے کے لئے ایک اضافی متغیر کا اعلان کیا ہے۔ اس متغیر کے ل I ، میں نے CDATE تبادلوں کی تقریب کا اطلاق کیا ہے۔
اگلا ، میں نے "DD-MMM-YYYY" فارمیٹ کا اطلاق کرنے کے لئے فارمیٹ فنکشن کا استعمال کیا ہے اور اس کا نتیجہ ذیل میں دکھایا جائے گا۔
اس کے ساتھ ، ہم واضح طور پر ڈے پارٹ اور ماہ کا حصہ پڑھ سکتے ہیں۔ یہ ایکسل میں آپ کے سسٹم ڈیٹ فارمیٹ پر بھی منحصر ہے ، کیوں کہ میرا سسٹم ڈیٹ فارمیٹ "MM-DD-YYYY" تھا اس طرح دکھا رہا تھا لیکن اس فارمیٹ میں رکاوٹ نہیں ہونی چاہئے۔
مثال # 3
اب ہم دراصل دیکھیں گے کہ ورک شیٹ سیل میں تاریخوں کو ٹیکسٹ ویلیو کی شکل میں کس طرح فارمیٹ کیا جاتا ہے۔ ذیل میں ورک شیٹ میں متن کے بطور محفوظ کردہ تاریخوں کی تصویر ہے۔
A2 سے A12 کے کالم A میں ہمارے پاس تاریخ نظر آنے والی قدریں ہیں لیکن جب ہم فارمیٹ ٹیب پر نگاہ ڈالتے ہیں تو یہ "ٹیکسٹ" کی شکل ظاہر کرتا ہے۔ اب ہمیں ان اقدار کو متن سے تاریخ میں تبدیل کرنے کی ضرورت ہے۔
ذیل میں کوڈ کے نیچے جو میں نے تحریری شکل کی تاریخ کی اقدار کو حقیقی تاریخوں میں تبدیل کرنے کے لئے لکھا ہے۔
کوڈ:
سب اسٹرنگ_ٹو_ڈیٹ 2 () ڈیم ک چونکہ 'ڈیٹا ایک سے زیادہ سیل میں ہے ، لہذا ہر سیل کے ذریعے لوپ کرنے کی ضرورت ہے' لوپ فار لوپ فار کٹ = 2 سے 12 'تک ڈیٹا دوسری صف سے شروع ہوتا ہے اور 12 ویں قطار پر ختم ہوتا ہے ، لہذا 2 سے 12 خلیات (k ، 2). قیمت = CDate (سیل (k ، 1). قیمت) اگلا k اختتام سب
اگر آپ کوڈ چلاتے ہیں تو یہ ہمیں نیچے کا نتیجہ دے گا۔
یاد رکھنے والی چیزیں
- سی ڈی ای ٹی ایک ڈیٹا ٹائپ کنورژن فنکشن ہے لیکن اسے استعمال کرکے وی بی اے اسٹرنگ اسٹورٹ ڈیٹ کو اصل تاریخ کی اقدار میں بدل دیا جاسکتا ہے۔
- CDATE فنکشن فارمیٹ کا نتیجہ صرف سسٹم ڈیٹ فارمیٹ پر منحصر ہوتا ہے۔
- تاریخیں ایکسل میں سیریل نمبر کے بطور ذخیرہ ہوتی ہیں ، لہذا تاریخ کے بطور نمائش کرنے کیلئے فارمیٹنگ کی ضرورت ہوتی ہے۔