وسيم العش قام بنشر أكتوبر 25, 2011 قام بنشر أكتوبر 25, 2011 السادة المشرفين الأفاضل السلام عليكم ورحمة الله وبركاته هل توجد دالة لادخالها في خلية ولتكن (B1) تظهر وقت الكتابة في خلية أخرى ولتكن (A1) حاولت حل ما أريد عن طريق =IF(A1="";"";NOW()) ولكنها تظهر الوقت عند فتح الملف وليس عند الكتابة في الخلية A1 أي كلما فتحت الملف تغير الوقت حسب ساعة الكمبيوتر بانتظار ردكم أخوكم وسيم
أ / محمد صالح قام بنشر أكتوبر 25, 2011 قام بنشر أكتوبر 25, 2011 دالتك صحيحة أخي الكريم ولكن يلزمها تحديث البيانات استعمل هذا الكود بعد الضغط دبل كلك على this work book Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Application.Calculate End Sub ولا تنس أن تجعل تنسيق الخلية التي بها المعادلة تاريخ 2
عبدالله المجرب قام بنشر أكتوبر 25, 2011 قام بنشر أكتوبر 25, 2011 وفي المرفق حل اخر بالاضافة لحل الاستاذ محمد عبدالله المجرب.rar 2
عبدالله المجرب قام بنشر أكتوبر 25, 2011 قام بنشر أكتوبر 25, 2011 ويمكن اختصار الكود ليصبح Private Sub Worksheet_Change(ByVal Target As Range) LR = Range("A" & Rows.Count).End(xlUp).Row If Target.Column <> 1 Then Exit Sub If Target.Row > LR Then Exit Sub If Cells(Target.Row, 1).Value <> "" Then Cells(Target.Row, 2).Value = Format(Now(), "hh:mm:ss") End If End Sub والله اعلم 1
أ / محمد صالح قام بنشر أكتوبر 25, 2011 قام بنشر أكتوبر 25, 2011 بارك الله فيك أخي عبد الله حلك أفضل من حلي لأن عملية الحساب تقوم بتغيير التواريخ السابقة لأحدث تاريخ موجود أما في الكود الذي تفضلت به فيحتفظ الملف بالتاريخ القديم ويغير فقط تاريخ الخلية التي تمت الكتابة فيها وفقك الله لكل ما يحب ويرضى واسمح لي بإضافة بسيطة ربما يحتاجها أخي صاحب الموضوع وهي حذف التاريخ من الخلية إذا حذفت القيم من خلية في العمود الأول ليصبح الكود هكذا Private Sub Worksheet_Change(ByVal Target As Range) LR = Range("A" & Rows.Count).End(xlUp).Row If Target.Column <> 1 Then Exit Sub If Target.Row > LR Then Exit Sub If Cells(Target.Row, 1).Value <> "" Then Cells(Target.Row, 2).Value = Format(Now(), "hh:mm:ss") Else Cells(Target.Row, 2).Value = "" End If End Sub 1
ضاحي الغريب قام بنشر أكتوبر 25, 2011 قام بنشر أكتوبر 25, 2011 اخواني أبواحمد "أ.عبدالله المجرب "والاستاذ محمد جزاكم الله كل خير اكواد جميلة
أ / محمد صالح قام بنشر أكتوبر 25, 2011 قام بنشر أكتوبر 25, 2011 ويمكن اختصار الكود ليصبح Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub Target.Offset(0, 1).Value = IIf(Target.Value <> "", Format(Now(), "hh:mm:ss"), "") End Sub 1
الـعيدروس قام بنشر أكتوبر 25, 2011 قام بنشر أكتوبر 25, 2011 جزاكم الله خيرا اساتذتي وهذا كود مختصر اخر لاثراء الموضوع تحطه في حدث الورقة Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("b2:b100")) Is Nothing Then Target(1, 0).Value = Time End Sub
ياسر الحافظ قام بنشر أكتوبر 25, 2011 قام بنشر أكتوبر 25, 2011 الاساتذة الكرام جهود مشكورة ... وحلول نستفيد منها دائما جزاكم الله كل الخير
وسيم العش قام بنشر أكتوبر 27, 2011 الكاتب قام بنشر أكتوبر 27, 2011 جزاكم الله خير الجزاء بصراحة الحل الوحيد الذي يفي بالغرض حل الاخ الكريم ابو احمد بملف عبدالله المجرب لان الحلول الاخرى بمجرد اغلاق الملف وفتحه يتغير الوقت بالخلية الى وقت فتح الملف اتمنى من الاخ ابو احمد لو يتكرم بشرح الكود في ملف عبدالله المجرب لان امكانياتي متواضعة في فهمها , كي يتسنى لي تعديل الكود كما ارغب ودمتم سالمين جميعا
محمد سامي حسين قام بنشر ديسمبر 8, 2015 قام بنشر ديسمبر 8, 2015 في 10/27/2011, 4:20:36, وسيم العش said: جزاكم الله خير الجزاء بصراحة الحل الوحيد الذي يفي بالغرض حل الاخ الكريم ابو احمد بملف عبدالله المجرب لان الحلول الاخرى بمجرد اغلاق الملف وفتحه يتغير الوقت بالخلية الى وقت فتح الملف اتمنى من الاخ ابو احمد لو يتكرم بشرح الكود في ملف عبدالله المجرب لان امكانياتي متواضعة في فهمها , كي يتسنى لي تعديل الكود كما ارغب ودمتم سالمين جميعا في 10/25/2011, 8:25:02, الـعيدروس said: جزاكم الله خيرا اساتذتي وهذا كود مختصر اخر لاثراء الموضوع تحطه في حدث الورقة Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("b2:b100")) Is Nothing Then Target(1, 0).Value = Time End Sub في 10/25/2011, 7:26:30, أ / محمد صالح said: ويمكن اختصار الكود ليصبح Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub Target.Offset(0, 1).Value = IIf(Target.Value <> "", Format(Now(), "hh:mm:ss"), "") End Sub في 10/25/2011, 5:39:39, أ / محمد صالح said: بارك الله فيك أخي عبد الله حلك أفضل من حلي لأن عملية الحساب تقوم بتغيير التواريخ السابقة لأحدث تاريخ موجود أما في الكود الذي تفضلت به فيحتفظ الملف بالتاريخ القديم ويغير فقط تاريخ الخلية التي تمت الكتابة فيها وفقك الله لكل ما يحب ويرضى واسمح لي بإضافة بسيطة ربما يحتاجها أخي صاحب الموضوع وهي حذف التاريخ من الخلية إذا حذفت القيم من خلية في العمود الأول ليصبح الكود هكذا Private Sub Worksheet_Change(ByVal Target As Range) LR = Range("A" & Rows.Count).End(xlUp).Row If Target.Column <> 1 Then Exit Sub If Target.Row > LR Then Exit Sub If Cells(Target.Row, 1).Value <> "" Then Cells(Target.Row, 2).Value = Format(Now(), "hh:mm:ss") Else Cells(Target.Row, 2).Value = "" End If End Sub السلام عليكم اساتذتي الافاضل وكل شخص موجود بالمنشور وكل شخص مفي المنتدى الاكثر من رائع .....السلام عليكم هل من الممكن عمل الموضوع اعلاه بالدوال بدون الرجوع للكودات؟؟؟؟؟ شكرا جزيلا
سليم حاصبيا قام بنشر ديسمبر 8, 2015 قام بنشر ديسمبر 8, 2015 بعد إذن لااساتذة الكرام و حتى لا يتغير التاريخ بعد غلق الملف تم فتحه من جديد و لتسجيل وقت الادخال بالخلية لأول مرة و بطريقة ثابتة اقترح هذا الكود Private Sub Worksheet_Change(ByVal Target As Range) If Target.Value = "" Or Target.Count > 1 Then Exit Sub If Not Intersect(Target, Range("b2:b100")) Is Nothing Then If Target(1, 0).Value = "" Then Target(1, 0).Value = Time End If End If End Sub 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.