تاريخ تنسيق VBA | كيفية تغيير تنسيق التاريخ في كود VBA؟

تاريخ تنسيق Excel VBA

ل تنسيق التاريخ في VBA علينا استخدام وظيفة يحمل في ثناياه عوامل شكل في حد ذاته، فإنه يأخذ الإدخال كما تنسيق التاريخ والعوائد يتطلب التنسيق المطلوب، والوسائط المطلوبة لهذه الوظيفة هي التعبير نفسها ونوع الشكل.

يعد تنسيق التاريخ والوقت من الأشياء الحساسة في Excel ونفس الشيء ينطبق على VBA أيضًا. يعتمد التاريخ والوقت الافتراضيان على تاريخ النظام الذي نعمل فيه ، والذي قد يختلف من نظام إلى آخر. في هذه المقالة ، سوف نعرض لك تقنيات مختلفة لتنسيق التواريخ باستخدام أكواد VBA.

لتغيير تنسيق التاريخ باستخدام ترميز VBA ، نحتاج إلى أن ندرك ما هي تنسيقات التاريخ وتأثيرها على التاريخ.

يوضح الجدول أدناه تنسيق التاريخ المختلف ورموزه.

لذلك ، إذا كنت تضع في اعتبارك أن الرسم البياني أعلاه بتنسيق التاريخ من خلال ترميز VBA ليس بالمهمة الصعبة على الإطلاق.

كيفية تغيير تنسيق التاريخ في VBA؟

فيما يلي أمثلة على تنسيق تاريخ Excel VBA.

يمكنك تنزيل قالب Excel لتاريخ تنسيق VBA من هنا - قالب Excel لتاريخ تنسيق VBA

مثال 1

على سبيل المثال ، لدينا نفس التاريخ في عدة خلايا من ورقة العمل كما هو موضح أدناه.

سنقوم الآن بتطبيق تنسيقات تاريخ مختلفة لنفس التاريخ لمعرفة التأثير في رموز تنسيق التاريخ المختلفة.

أولاً ، انسخ نفس البيانات إلى العمود التالي أيضًا لمعرفة التأثير.

بالنسبة للتاريخ الأول ، أي الخلية A1 ، سنطبق التنسيق "DD-MM-YYYY" .

في الكود أولاً ، نحتاج إلى تحديد الخلية باستخدام كائن RANGE .

رمز:

 Sub Date_Format_Example1 () نطاق ("A1") End Sub 

نظرًا لأننا نقوم بتغيير تنسيق التاريخ للخلية ، نحتاج إلى الوصول إلى خاصية " تنسيق الأرقام " الخاصة بالكائن RANGE.

رمز:

 Sub Date_Format_Example1 () Range ("A1"). NumberFormat End Sub 

بعد الوصول إلى " تنسيق الأرقام " ، نحتاج إلى ضبط تنسيق الأرقام عن طريق وضع علامة التساوي وتطبيق كود التنسيق بين علامتي اقتباس.

رمز:

 Sub Date_Format_Example1 () Range ("A1"). NumberFormat = "dd-mm-yyy" 'سيؤدي هذا إلى تغيير التاريخ إلى "23-10-2019" End Sub 

عند تنفيذ هذا الرمز ، سيتم تطبيق تنسيق الرقم على الخلية A1 كـ " DD-MM-YYY "

انتاج:

المثال رقم 2

وبالمثل ، قمت بتطبيق رموز تنسيق مختلفة لخلايا أخرى أيضًا ، وفيما يلي رمز VBA لك.

رمز:

Sub Date_Format_Example2 () Range ("A1"). NumberFormat = "dd-mm-yyy" 'سيؤدي هذا إلى تغيير التاريخ إلى النطاق "23-10-2019" ("A2"). NumberFormat = "ddd-mm-yyy" سيؤدي هذا إلى تغيير التاريخ إلى نطاق "الأربعاء-10-2019" ("A3"). NumberFormat = "dddd-mm-yyy" 'سيؤدي هذا إلى تغيير التاريخ إلى نطاق "الأربعاء - 10-2019" ("A4") .NumberFormat = "dd-mmm-yyy" 'سيؤدي هذا إلى تغيير التاريخ إلى النطاق "23-Oct-2019" ("A5"). NumberFormat = "dd-mmmm-yyy"' سيؤدي هذا إلى تغيير التاريخ إلى "23- تشرين الأول (أكتوبر) 2019 "Range (" A6 "). NumberFormat =" dd-mm-yy "'سيؤدي هذا إلى تغيير التاريخ إلى النطاق" 23-10-19 "(" A7 "). NumberFormat =" ddd mmm yyyy "' هذا سيغير التاريخ إلى "الأربعاء أكتوبر 2019 "النطاق (" A8 "). NumberFormat =" dddd mmmm yyyy "'سيؤدي هذا إلى تغيير التاريخ إلى" الأربعاء أكتوبر 2019 "End Sub

ستكون نتيجة هذا الرمز على النحو التالي.

انتاج:

تغيير تنسيق التاريخ باستخدام الدالة FORMAT

في VBA لدينا وظيفة تسمى FORMAT والتي يمكن استخدامها لتطبيق التنسيق المطلوب على الخلية.

نحتاج فقط إلى تحديد قيمة "التعبير" وتطبيق "التنسيق" وفقًا لذلك.

انظر إلى الكود أدناه للحصول على مثال.

رمز:

 Sub Date_Format_Example3 () Dim MyVal كمتغير MyVal = 43586 تنسيق MsgBox (MyVal، "DD-MM-YYYY") End Sub 

في الكود أعلاه ، قمت بتعريف المتغير على أنه متغير (يمكنه الاحتفاظ بأي قيمة).

رمز:

 خافت MyVal كمتغير 

بعد ذلك بالنسبة لهذا المتغير ، قمت بتعيين القيمة 43586.

رمز:

MyVal = 43586

بعد ذلك في مربع الرسالة ، قمت بعرض نتيجة المتغير ، ولكن قبل أن نعرض النتيجة ، استخدمنا وظيفة " FORMAT " لتنسيق قيمة المتغير " MyVal " والصيغة المعطاة هي " DD-MM- YYYY ".

رمز:

تنسيق MsgBox (MyVal، "DD-MM-YYY")

حسنًا ، لنقم بتشغيل الكود ونرى النتيجة في مربع الرسائل في VBA.

انتاج:

كما ترى أعلاه تظهر النتيجة " 01-05-2019 ".

الآن يجب أن تتساءل أننا قدمنا ​​الرقم التسلسلي ولكن النتيجة تظهر كتاريخ. وذلك لأن Excel يخزن التاريخ كأرقام تسلسلية ، وبالتالي فإن القيمة 43586 تساوي التاريخ "01-05-2019" وإذا قمت بزيادة الرقم بمقدار 1 أي 43587 فسيكون التاريخ "2019-02-05".

رمز:

 Sub Date_Format_Example3 () Dim MyVal كمتغير MyVal = 43586 تنسيق MsgBox (MyVal، "DD-MM-YYY") End Sub 

أشياء للذكرى

  • سيتم تطبيق التاريخ الافتراضي لنظامك على برنامج Excel أيضًا.
  • يمكن استخدام خاصية تنسيق الأرقام لتغيير تنسيق التاريخ في VBA.
  • باستخدام وظيفة FORMAT ، يمكننا تغيير تنسيق التاريخ.
  • يقوم Excel بتخزين التاريخ كأرقام تسلسلية وإذا قمت بتطبيق تنسيق التاريخ ، فسيظهر وفقًا لذلك.

$config[zx-auto] not found$config[zx-overlay] not found