كيفية حساب فارق التوقيت في vba (مع أمثلة)
يمكنك استخدام بناء الجملة الأساسي التالي في VBA لحساب الفرق بين الوقتين:
Sub FindTimeDifference()
Dim i As Integer
For i = 2 To 7
'calculate time difference in days
Range(" C " & i) = Range(" B " & i) - Range(" A " & i)
'calculate time difference in hours
Range(" D " & i) = (Range(" B " & i) - Range(" A " & i)) * 24
'calculate time difference in minutes
Range(" E " & i) = (Range(" B " & i) - Range(" A " & i)) * 24 * 60
'calculate time difference in seconds
Range(" F " & i) = (Range(" B " & i) - Range(" A " & i)) * 24 * 60 * 60
Next i
End Sub
سيقوم هذا الماكرو المحدد بحساب الفرق بين الأوقات المقابلة في النطاقين A2:A7 و B2:B7 وإرجاع النتائج التالية:
- سيحتوي C2:C7 على فارق التوقيت بالأيام
- D2:D7 سيحتوي على فارق التوقيت بالساعات
- E2:E7 سيحتوي على فارق التوقيت بالدقائق
- سيحتوي F2:F7 على فارق التوقيت بالثواني
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: حساب فارق التوقيت في VBA
لنفترض أن لدينا العمودين التاليين لوقتي البداية والنهاية في برنامج Excel:
يمكننا إنشاء الماكرو التالي لحساب الفارق الزمني بين كل وقت بداية ونهاية وعرض النتائج في الأعمدة من C إلى F:
Sub FindTimeDifference()
Dim i As Integer
For i = 2 To 7
'calculate time difference in days
Range(" C " & i) = Range(" B " & i) - Range(" A " & i)
'calculate time difference in hours
Range(" D " & i) = (Range(" B " & i) - Range(" A " & i)) * 24
'calculate time difference in minutes
Range(" E " & i) = (Range(" B " & i) - Range(" A " & i)) * 24 * 60
'calculate time difference in seconds
Range(" F " & i) = (Range(" B " & i) - Range(" A " & i)) * 24 * 60 * 60
Next i
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
تعرض الأعمدة من C إلى F الفارق الزمني بين أوقات البداية والانتهاء بوحدات مختلفة.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
كيفية مقارنة التواريخ في VBA
كيفية حساب الأيام بين تاريخين في VBA
كيفية تحويل السلسلة إلى تاريخ في VBA