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

خذف محتوى خليه بتاريخ أحدده


sft

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

الى أساتذتي في منتدانا الغالي ... السلام عليكم ورحمة الله وبركاته

اريد امسح محتوى الخليه المقبلة لتواريخ احددها اي من مثلا من تاريخ 09/1432 الى تاريخ 11/1432 يوجد مثال مرفق ... لا حرمنا من التعلم منكم والنهل مما لديكم من علم

مسح محتوى خليه بتاريخ.rar

رابط هذا التعليق
شارك

اخي الفاضل

ضع الكود التالي في زر امر في الورقة 4 وان شاء الله يكون لك ما اردت

** تم الاستعانة بكود للاستاذ عماد الحسامي بنفس الفكرة**

Sub officna()

Dim x As Worksheet

Application.ScreenUpdating = False

For Each x In Application.Worksheets

For i = 3 To 50

If x.Cells(i, 5).Value = Sheet4.Range("F2") Then

x.Cells(i, 5).Value = Empty

End If

Next i

Next x

End Sub

تم تعديل بواسطه عبدالله المجرب
رابط هذا التعليق
شارك

اخي الفاضل

ضع الكود التالي في زر امر في الورقة 4 وان شاء الله يكون لك ما اردت

** تم الاستعانة بكود للاستاذ عماد الحسامي بنفس الفكرة**

اللاخ stf :

هذا مرفق بكود استاذنا ابو احمد " عبد الله المجرب "

بتعديل اقل من بسيط تم بموجبه التعديل لمسح محتويات الخلية المقابلة للتاريخ وليس خلية التاريخ

كل الشكر لك اخونا العزيز ابو احمد

مع تحية حب صادقة لاخي وصديقي المهندس جمال دغيدي

وفقك الله

ابو الحارث

مسح محتوى خليه بتاريخ -ابو احمد.rar

رابط هذا التعليق
شارك

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

تم تعديل بواسطه sft
رابط هذا التعليق
شارك

السلام عليكم

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

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

وانت - والله بدون مجاملة- تسير في الاتجاه الصحيح واتوقع لك مستقبل اكثر من مبهر في عالم الاكسل

-----------------------

وللفائدة هنا الكود صحيح بالكامل لكنه يقوم بالمقارنة في جميع الصفحات بما فيها الصفحة التي يوجد بها الزر

اي ان قمت بشمول جميع الصفحات بلا استثناء بحيث لو كانت هناك بيانات في الصفحات التي لا نريد تنفيذ فيها الكود لحدثت مشاكل نوعا ما اذا كانت هذه البيانات في نفس اماكن البيانات في الصفحات المطلوب تنفيذ الكود بها ويمكننا التخلص من هذه المشكلة بعدة وسائل ونستطيع بناءا على الملف المرفق استثناء الصفحة الرابعة من الكود باضافة

If x.Name <> "ورقة4" Then
---------------------------------------- ويمكننا استخدام الكود التالي وبنفس مبدأ الكود السابق تقريبا ليتم تنفيذه في اول 3 صفحات
Dim c As Range

For i = 1 To 3

For Each c In Sheets(i).[e4:e43]

If c = Sheet4.[f2].Value Then c.Offset(0, 1) = Empty

Next c

Next i
وهنا يعتمد ترتيب الصفحات بحيث تكون في اول 3 صفحات -------------------------------------------------- وهنا نفس المود لتحديد التاريخ من الى
Dim c As Range

For i = 1 To 3

For Each c In Sheets(i).[e4:e43]

If c.Text >= Sheet4.[f2].Value And c.Text <= Sheet4.[f4].Value Then c.Offset(0, 1) = Empty

Next c

Next i

---------------------------

اعذروني على تطفلي ولكن للفائدة والمعلومة

مسح محتوى خليه بتاريخ.rar

رابط هذا التعليق
شارك

الاخ / استاذنا الكبير الحســـــــــــــــــــــامي

افاض الله عليك من علمه وخيره ... جزاك الله كل الخير

الحرفية في العمل هي امكانية تبسيط الاشياء وايصالها بطريقة غير معقدة

كما تفعل حضرتك ... فتكون استفادتنا كبيرة

وفقــــــــــــــــــــــــك الله

ابو الحارث

رابط هذا التعليق
شارك

الاخ / استاذنا الكبير الحســـــــــــــــــــــامي

افاض الله عليك من علمه وخيره ... جزاك الله كل الخير

الحرفية في العمل هي امكانية تبسيط الاشياء وايصالها بطريقة غير معقدة

كما تفعل حضرتك ... فتكون استفادتنا كبيرة

وفقــــــــــــــــــــــــك الله

ابو الحارث

الاخ / استاذنا الكبير عماد الحسامي كما قال ابو الحارث فالحرفية هي تبسيط الاشياء وانتم اهل الحرفية

وشكراً لك على تشجيعك ودعمك

ابواحمد

تم تعديل بواسطه عبدالله المجرب
رابط هذا التعليق
شارك

اخي الحسامي اي تطفل واي تدخل بل تشرفنا بمرورك الكريم والنيل من ابداعاتك ... مع الشكر كل الشكر للاخوه فهم ابدعوا كلاً بما يراه مناسبا..

اخي الحسامي اين تكمن المشكله عندما نقلت الكود لورقة عملي والموكونه من ورقة بإسم (الرئيسية) 13 ورقة بأسماء 100 و200 .... 1200 عندما ادخلت الكود الذي ارفقته حفظك الله بملف الاكسل عندمااضيف ورقة مثلا 1300 وادخل الامر لا يمسح وعند التعديل هذا

Sub delete1()

Application.ScreenUpdating = False

Dim c As Range

For i = 1 To 14

For Each c In Sheets(i).[e4:e43]

If c.Text >= Sheet4.[f2].Value And c.Text <= Sheet4.[f4].Value Then c.Offset(0, 1) = Empty

Next c

Next i

End Sub

Sub delete2()

Application.ScreenUpdating = False

Dim c As Range

For i = 1 To 14

For Each c In Sheets(i).[e4:e43]

If c = Sheet4.[f2].Value Then c.Offset(0, 1) = Empty

Next c

Next i

End Sub

قبل الورقة 1300 في الحذف اما لما ازيد العدد لمثلا 25 لايقبل ويظهر لي ارر في الامر مهي المشكله وكيف الحل ليقبل اي ورقة اضيفها مستقبلا

تقبل تحياتي ودمت بخير

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information