كيفية تحويل سلسلة إلى تاريخ في vba (مع أمثلة)
يمكنك استخدام الدالة CDate في VBA لتحويل سلسلة نصية إلى تاريخ.
فيما يلي طريقتان شائعتان لاستخدام هذه الميزة عمليًا:
الطريقة الأولى: تحويل السلسلة إلى تاريخ باستخدام التنسيق الافتراضي (MM/DD/YYYY)
Sub ConvertStringToDate()
Dim i As Integer
For i = 2 To 8
Range(" B " & i) = CDate(Range(" A " & i))
Next i
End Sub
سيقوم هذا الماكرو المحدد بتحويل كل سلسلة في النطاق A2:A8 إلى تاريخ بتنسيق التاريخ الافتراضي MM/DD/YYYY.
على سبيل المثال، سيتم تحويل سلسلة نصية من 15/04/2023 إلى تاريخ 15/04/2023.
الطريقة الثانية: تحويل السلسلة إلى تاريخ باستخدام تنسيق مخصص
Sub ConvertStringToDate()
Dim i As Integer
For i = 2 To 8
Range(" B " & i) = Format(CDate(Range(" A " & i)), " MM.DD.YYYY ")
Next i
End Sub
سيقوم هذا الماكرو المحدد بتحويل كل سلسلة في النطاق A2:A8 إلى تاريخ بتنسيق MM.DD.YYYY.
على سبيل المثال، سيتم تحويل سلسلة نصية من 15/04/2023 إلى تاريخ 15/04/2023.
توضح الأمثلة التالية كيفية استخدام كل أسلوب عمليًا مع عمود السلاسل التالي في Excel:
المثال 1: تحويل السلسلة إلى تاريخ باستخدام التنسيق الافتراضي
يمكننا استخدام الماكرو التالي لتحويل كل سلسلة في العمود A إلى تاريخ بالتنسيق الافتراضي MM/DD/YYY:
Sub ConvertStringToDate()
Dim i As Integer
For i = 2 To 8
Range(" B " & i) = CDate(Range(" A " & i))
Next i
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أن العمود B يحول كل سلسلة في العمود A إلى تاريخ بتنسيق التاريخ الافتراضي MM/DD/YYYY.
المثال 2: تحويل السلسلة إلى تاريخ باستخدام تنسيق مخصص
يمكننا استخدام الماكرو التالي لتحويل كل سلسلة في العمود A إلى تاريخ بتنسيق مخصص MM.DD.YYY:
Sub ConvertStringToDate()
Dim i As Integer
For i = 2 To 8
Range(" B " & i) = Format(CDate(Range(" A " & i)), " MM.DD.YYYY ")
Next i
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أن العمود B يحول كل سلسلة في العمود A إلى تاريخ بتنسيق MM.DD.YYYY مخصص.
لا تتردد في استخدام وظيفة تنسيق VBA لعرض التواريخ بالتنسيق الذي تختاره.
ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة VBA CDate هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
كيفية تحويل السلسلة إلى int في VBA
كيفية تحويل سلسلة إلى طويلة في VBA
كيفية تحويل سلسلة إلى مضاعفة في VBA