اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

الاخوة الكرام ...

انا بحاجة الى معادلة لحساب مجموع الساعات بشكل عدد صحيح

مثلا :

9:30 ( تسع ساعات وثلاثون دقيقة ) = 9.5

بحيث يكون اجمالي ساعات اليوم = 24 ساعة

مع أطيب تمنياتي لكم بالتوفيق .

  • تمت الإجابة
قام بنشر

استخدم الدالة الآتية :

Function Mytimediff(t1, t2)

  tdif = Abs(Hour(t2) - Hour(t1) + Minute(t2) / 60 - Minute(t1) / 60)

  Mytimediff = tdif

End Function

أدرجها فى موديول جديد

و استدعها كما تتستدعي الدوال و لكن من مجموعة

user defined functions

مرفق المثال

تم تعديل المثال باضافة الطريقة المباشرة فى مشاركة أبو هادي

Timediffhours.zip

قام بنشر

الاخ / محمد طاهر

مشكور على هذا الجهد الرائع .

ولكني لم اعرف كيفية استخدام الكود اعلاه . ارجو مساعدتي في هذه الحالة مثلا :

3.45 (ثلاث ساعات وخمسة واربعون دقيقة وليس الساعة الثالثة وخمسة واربعون دقيقة AM,PM )

اريد معادلة تحولها لي الى 3.75 وهكذا .

مع جزيل الشكر .

قام بنشر

السلام عليكم

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

كما يمكن أن تحصل على المطلوب بدون كود وذلك بضرب الخلية في 24 وتغيير تنسيق الخلية كذلك إلى رقمي .

مثلا لو الوقت موجود في خلية A1 ففي خلية أخرى نضع المعادلة التالية :

A1*24=

تحياتي .

  • Like 1
قام بنشر

نعم :) هذا أسهل

يبدو أن الكود أصبح هو أول ما أفكر فيه فى الاكسيل ، و ليس العكس كما هو مفترض :)

تم تعديل المثال فى أول مشاركة باضافة الطريقة التي تفضل بها أبو هادي مرة و مرة أخري باضافة الدالة abs التي تعيد القيمة بدون اشارات لكل لا تقلق من الاكبر عند الطرح

بالنسبة للكود ، يوجد في قسم خلاصة مشاركات الاكسيل ، مقدمة بسيطة للتعامل معه بعنوان مقدمة الي vba

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information