كيفية تسجيل التاريخ والوقت تلقائيًا عند تغيير الخلية؟
من السهل علينا إدراج تاريخ ووقت ثابت يدويًا أو إدراج تاريخ ديناميكي يتغير مع وقت النظام باستخدام صيغة. إذا كنت تريد تسجيل التاريخ والوقت تلقائيًا عند تغيير القيم أو إدخالها، قد تكون هذه المشكلة مختلفة بعض الشيء في التعامل معها. لكن، في هذه المقالة، يمكنك حل هذه المهمة باتباع الخطوات التالية.
تسجيل التاريخ والوقت تلقائيًا عند تغيير الخلية باستخدام كود VBA
تسجيل التاريخ والوقت تلقائيًا عند تغيير الخلية باستخدام كود VBA
على سبيل المثال، لدي نطاق من القيم، والآن عندما أقوم بتغيير القيم أو كتابة قيم جديدة في العمود B، أريد أن يتم تسجيل التاريخ والوقت الحالي تلقائيًا في العمود C كما هو موضح في لقطة الشاشة التالية:
يمكنك إنهاء هذه المهمة باستخدام الكود التالي لـ VBA. الرجاء القيام بما يلي:
1. اضغط باستمرار على مفاتيح ALT + F11 لفتح نافذة Microsoft Visual Basic for Applications.
2. ثم اختر ورقة العمل المستخدمة من مستكشف المشروع على اليسار، انقر عليها مرتين لفتح الوحدة، وبعد ذلك انسخ والصق الكود التالي لـ VBA في الوحدة الفارغة:
كود VBA: تسجيل التاريخ والوقت تلقائيًا عند تغيير الخلية
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140722
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
Rng.Offset(0, xOffsetColumn).Value = Now
Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm:ss"
Else
Rng.Offset(0, xOffsetColumn).ClearContents
End If
Next
Application.EnableEvents = True
End If
End Sub
3. بعد ذلك احفظ وأغلق هذا الكود للعودة إلى ورقة العمل، الآن عندما تقوم بتغيير قيمة الخلية أو كتابة بيانات جديدة في العمود B، سيتم تسجيل التاريخ والوقت تلقائيًا في العمود C.
ملاحظات:
1. في الكود أعلاه، يمكنك تعديل "B:B" إلى أي عمود آخر ترغب في تغيير قيم الخلايا فيه في هذا البرنامج النصي: Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target).
2. باستخدام البرنامج النصي xOffsetColumn = 1 ، يمكنك إدراج وتحديث التاريخ والوقت إلى العمود الأول المجاور لعمود القيم المتغيرة، ويمكنك تغيير الرقم 1 إلى أرقام أخرى، مثل 2،3،4،5… مما يعني أن التاريخ سيتم إدراجه في العمود الثاني أو الثالث أو الرابع أو الخامس بجانب عمود القيم المتغيرة.
3. عند حذف قيمة في العمود المتغير، سيتم أيضًا حذف التاريخ والوقت.
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير
- تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!