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

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

قام بنشر

طريقة إدراج التواريخ رائعة وأعجبتني كثيراً أخي عمر .. شكراً لك،

قام بنشر

استاذنا علي السحيب

تحياتى لك استاذى

دائما تعطينى الجرعة التى لا اجدها من الاخوه

جزاك الله كل خير

قام بنشر
التعديل والشرح غدا إن شاء الله لانى فى عجالة من انجاز بعض الامور الاخرى

أيضا :

رابعا أتمنى وكلي أمل رجاء رجاء أرجو إعادة إرفاق الملف الموجود في المشاركة رقم 18 من هذا

الموضوع - ولكن يتم إرفاقه بعد إضافة التعديل الأخير ، وتصحيحه من مشكلة التعدي على بيانات

العواميد المجاوره عند ضغط زر المسح del .

و السلام عليكم ورحمة الله وبركاته

قام بنشر

السلا م عليكم

كلي أمل ورجاء بأن يكون الأستاذ الموقر " تامر " قد اطلع على المشاركتين رقم 24 و 25

أنا متحمس ومتفائل ومنتظر لما وعدتني به ،،،، اقتباس :

(التعديل والشرح غدا إن شاء الله لانى فى عجالة من انجاز بعض الامور الاخرى )

تحياتي الكثيرة و الخاصة لسيادتك

  • 2 weeks later...
قام بنشر

أستاذي أسعدك الله / أرجو أن لا أكون لحوحا ولكن الحاجة للتعديل دعتني للتذكير .

السلا م عليكم

كلي أمل ورجاء بأن يكون الأستاذ الموقر " تامر " قد اطلع على المشاركتين رقم 24 و 25

أنا متحمس ومتفائل ومنتظر لما وعدتني به ،،،،

التعديل والشرح غدا إن شاء الله لانى فى عجالة من انجاز بعض الامور الاخرى

وإن غدا لناظره قريب ،، أتمنى أن يكون موعدنا الصبح .

تحياتي الكثيرة و الخاصة لسيادتك

قام بنشر

أخي الأستاذ تامر السلام عليكم ورحمة الله وبركاته ،

مبدئيا يكفيني إصلاح الكود الذي أشرت إليه فيما تقدم وهذا هو الكود :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A2:A30")) Is Nothing Then
    Sheets("ورقة2").Range(Target.Address).Offset(0, 3) = Date & " " & Time
    Sheets("ورقة2").Cells(31, 4) = Date & " " & Time
End If
End Sub

وهو نفس الكود الموجود في المشاركة رقم 18 وهذا رابط التحميل للملف:

http://www.officena.net/ib/index.php?act=A...ost&id=5644

أرجو أن يتم إرفاقه بعد تعديله ، وتصحيحه من مشكلة التعدي على بيانات العواميد المجاوره عند ما نضغط زر المسح del ،

فمثلا في الورقة رقم 1 جرب تحديد الخليتين A2 و B2 في وقت واحد ثم إضغط زر DEL ثم إنتقل

إلى الورقة رقم 2 الآن يفترض أنك تشاهد تاريخ مسح الخليتين في الخلية D2 فقط ولكن إذا ركزت سوف

تشاهد أن التاريخ قد تكرر في D2 و E2 والمطلوب عدم خروج التاريخ في E2 لأن العمود E سوف

نخصصه لكتابة نصوص ومع بقاء الكود على وضعه بدون تصحيح فإنه سوف تنمسح النصوص من E2 لوقوعها في العمود E

في انتظار كم يا أستاذ ولكم تحياتي

قام بنشر

أستاذنا الفاضل أشكرك على سرعة الرد

ولكن لاتزال المشكلة قائمة ، فمثلا إذا كتبنا المبلغ في الورقة رقم 1 في A2 فإن المبلغ معرض للمسح مع البيان الخاص به في B2 في وقت واحد

لذلك يفترض أن يتم خروج تاريخ مسح كل الخلايا المحدة تبعا للخلية A2 بحيث يتم تسجيل تاريخ

المسح في الورقة رقم 2 في الخلية A2

والحاصل حاليا عدم خروج تاريخ المسح في الورقة رقم 2 إذا تم مسح أكثر من خلية في وقت واحد ؟ لماذا ؟

المطلوب إذا تم مسح أكثر من خلية لصف أو لعدة صفوف أفقيا من عمود A و B من الورقة الأولى

نريد أن يتم خروج التاريخ في كل خلية تقابل هذه الصفوف من الورقة الثانية في العمود A فقط

بحيث لايتكرر خروج التاريخ في خلايا العمود B .

تحياتي

قام بنشر

أستاذنا أشكرك على بذل قصارى جهدك معي ،بذلت عطاء بلاحدود ومعلومات غير محدودة ، أشعر أني أرهقتك بعض الشيء .

أستاذي الموقر بالنسبة لكود دفع المتبقي في المشاركة رقم 22 قد سبق أن وعدتنا بشرح الكود، و إن شاء الله سوف أقوم بالشرح نيابة عنك ، فقط أريد منكم تعديل مسارات خروج التاريخ في الكود

فمثلا حاليا العمود C مخصص لخروج تاريخ أول دفعة من المبلغ والعمود E مخصص لخروج تواريخ تسديد المبالغ المتبقية

المطلوب / أن يكون في الكود إسم الصفحات لكي نحدد من خلاله مكان خروج التواريخ في الورقة رقم 2 أو الورقة رقم 3 وهكذا ،، مع ترك الكود كماهو بجميع خدماته . . . أعتقد أن الطلب بسيط وواضح وغير مكلف .

رابط تحميل الملف الذي فيه الكود :

http://www.officena.net/ib/index.php?act=A...ost&id=5860

الكود المطلوب التعديل عليه :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
If Not Intersect(Target, Range("B3:B30")) Is Nothing Then
If IsDate(Range(Target.Address).Offset(0, 1)) Then
    Range(Target.Address).Offset(0, 3) = Date & " " & Time
    Cells(32, 5) = Date & " " & Time
Else
    Range(Target.Address).Offset(0, 1) = Date & " " & Time
    Cells(32, 3) = Date & " " & Time

End If
End If
End If

End Sub

أرجو أن تتقبل دعواتي وتحياتي

قام بنشر (معدل)

الأخ تامر ، جزاك الله خيرا ونفع الله بك وحياك

على هذا الجهد الرائع ، هل يمكنك أخي المساعدة في موضوعي بالرابط

http://www.officena.net/ib/index.php?showtopic=14499

ودوما الى الأمام وحياك الله وبارك فيك

تم تعديل بواسطه malik68
قام بنشر

اخى

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
' يعمل السطر السابق على التأكد من التعامل مع خلية واحدة لحل مشكلة التعدى
If Not Intersect(Target, Range("B3:B30")) Is Nothing Then
' تحديد مدى الادخال
If IsDate(Range(Target.Address).Offset(0, 1)) Then
' يقوم بأختبار خلية العمود (C) اذا بها تاريخ مسجل يقوم بالتسجيل فى الورقة الثانية وغير ذلك يسجل فى الاولى
    Sheets(2).Range(Target.Address).Offset(0, -1) = Date & " " & Time
' تسجيل تاريخ الدفعه فى نفس السطر فى الورقة الثانية
    Sheets(2).Range("A32") = Date & " " & Time
' تسجيل تاريخ اخر دفعه اخر  فى الصغ 32 فى الورقة الثانية
Else
'  يقوم بنفس التسجيل ولكن فى الورقة الاولى عندما لايكون هناك تاريخ فى خلية العمود (C)
    Range(Target.Address).Offset(0, 1) = Date & " " & Time
    Cells(32, 3) = Date & " " & Time

End If
End If
End If

End Sub

تحياتى

_____________.rar

قام بنشر

السلام عليكم ورحمة الله ،

أولا :أقدم الشكرك لك على الكود وعلى الشرح الرائع فقد كنت ناويا أن أقوم بالشرح ولكن جاء شرحكم وافيا جزيتم كل خير

ثانيا : أرجو التعقيب بالنسبة للسطر :

If IsDate(Range(Target.Address).Offset(0, 1)) Then

يقوم بأختبار خلية العمود (C) اذا بها تاريخ مسجل يقوم بالتسجيل فى الورقة الثانية وغير ذلك يسجل فى الاولى
نريد وضع مسار منصص لإسم الورقة يتيح الفرصة لتغيير مكان خروج كل التواريخ في الصفحة رقم 2 بمافيها تاريخ المبلغ المدفوع الذي في العمود C بحيث تبقى الصفحة رقم 1 خاصة بإدخال البيانات فقط . ثالثا : بالنسبة لتحديد الصفحات بهذه الطريقة :
Sheets(2).Range

فإنه بمجرد إدراج صفحة جديدة تصبح التواريخ لا تعمل في الصفحة السابقة (رقم 2)بل تخرج في الجديدة بناء على أن الجديدة هي الثانية ، نريد التنصيص على إسم الورقة .

تحياتي

قام بنشر

اخى هذا السطر يعمل على الاتى

عندما تدخل رقم فى الخلية (B3) سيختبر الخلية (C3)

اذا كانت لاتحتوى على تاريخ يسجل فيها المبلغ

اما اذا كانت تحتوى على تاريخ يسجل فى الورقة الثانية

شاهد المرفق

_____________.rar

قام بنشر

أستاذنا أشكركم على تعديل أغلب الطلبات في المشاركة الأخيرة ،، وآسف على التطويل ،

بالنسبة للسطر ربما كان تعبيري بالتعقيب غير دقيق .

ولو ركزت على كلماتي بعد سطر الكود لتبين لك مقصودي على أي حال ، أريد بالتحديد نقل تواريخ العمود C من الورقة رقم 1 إلى الورقة رقم 2 إلى جانب عمود تاريخ دفع المتبقي .

بتعبير آخر أريد الصفحة الأولى تحتوي على ثلاثة أعمدة فقط وهم ؛ عمود الإسم و عمود المبلغ المدفوع و عمود المبلغ المتبقي .

ويكون في الصفحة الثانية عمودين فقط هما ؛ عمود تاريخ الدفع و عمود تاريخ دفع المتبقي .

أتمنى أن يكون الطلب الأخير في الموضوع وشكرا .

تحياتي

قام بنشر

ماشاء الله ، تبارك الله ،

كود أكثر من رائع وفي نفس الوقت مريح لأن مجرد تغير إسم الصفحة مرة واحدة يكفي لنقل المهمة في تلك الصفحة .

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

قام بنشر

السلام عليكم ورحمة الله وبركاته ،

اخى ابو احمد

امكانياتى تقف حتى هنا

لعلنا نجد المساعدة

تحياتى

هل تقصدون أنه لايمكن أن يخرج تاريخ مسح الخليتين في خلية واحدة ؟

إذا كان كذلك فبعد إذنكم وكما أشرت أدعو من يستطيع المساعدة أن يشارك ، وأرجو من الأستاذ علي السحيب أن يتدخل في الموضوع ، فهو بلاشك له باع كبير .

مادعاني للتعقيب هو أنه بعد مسح الخليتين سيبقى التاريخ مشيرا إلى حصول عملية مجهولة ... بعد علمنا أن التاريخ ليس تاريخ المسح .

تحياتي

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information