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

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

قام بنشر

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

 

أريد تلوين العمود الخاص بيوم الجمعة فى سجل الغياب لشئون الطلاب

مع العلم أن مكان العمود يتغير بتغير الشهر

وبرجاء كود أخر لإخفاء الأعمدة الزائدة عن الشهر

مثلا شهر فبراير 28 أو 29 يوم فقط

أعتقد أنه يكون من دالة select case

لكنى لا أعرف كيفية كتابة الكود

 

مرفق ملف أرجو التوضيح عليه

01.rar

قام بنشر
6 minutes ago, سليم حاصبيا said:

بدون اكواد

ربما يكون المطلوب (انظر الى الورقة Salim)

تم حمابة المعادلات لعدم العبث بها عن طربق الخطأ

salim01.rar

أسماء الأيام لا تظهر عندى

أنا أعمل على أوفيس 2003

كما أنى أريد الأكواد أو المعادلات لنقلها إلى الملف الأصلى

وذلك فضلا منكم وليس أمرا

قام بنشر (معدل)
5 hours ago, صـدّيـق said:

اضن انك تستخدم اوفس بالفرنسية

فقمت ببعض التعديلات على ملف الاستاذ سليم حصبا لكي تظهر لك الايام

أرجو ان يطلع عليه الاستاذ المحترم

salim02.rar

انا لا استخدم الفرنسية

لكن عمل رائع

وان لم تحل المشكلة بعد

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

انا ظهرت عندي نفس المشكلة عند تنزيل الملف بعدم ظهور اليوم ولكن بعد تغيير بعض القيم الى الفرنسية حلت المشكلة

ننتضر ردا من الاستاذ حصبيا ربما يكون له رأي آخر 

تم تعديل بواسطه صـدّيـق
  • Like 1
  • أفضل إجابة
قام بنشر

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

وفقنا الله وإياكم لكل خير

بعد إذن الأحباب المشاركين

هذه محاولة مني لعلها تكون الإجابة

تم التلوين باستخدام التنسيق الشرطي:

بتحديد النطاق $E$8:$AI$62

من تبويب home

نضغط conditional formatting

ثم new rule

ثم آخر أمر use a formula to ...

ثم إضافة قاعدة التلوين

=WEEKDAY(E$12)=6

وتعني أن يوم هذا التاريخ هو الجمعة على أساس أن ترقيم الأسبوع في إكسل يبدأ يوم الأحد

ثم تحديد لون الخلفية المطلوب

ثم Ok

وتم تنفيذ الإظهار والإخفاء في حدث عند التغيير لورقة العمل

Private Sub Worksheet_Change(ByVal Target As Range)
For c = 33 To 35
Columns(c).EntireColumn.Hidden = 0
If Day(Cells(12, c)) < Day(Cells(12, 32)) Then Columns(c).EntireColumn.Hidden = 1
Next c
End Sub

وهي للتأكد من أن اليوم المكتوب في الأعمدة من 33 إلى 35 أكبر من اليوم الموجود في العمود 32 وهو 28 في الشهر

فإذا كان أصغر تعني أنه شهر جديد فيقوم بإخفاء العمود كله

أترككم في رعاية الله

mas_solok.rar

  • Like 1
قام بنشر (معدل)
2 hours ago, أ / محمد صالح said:

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

وفقنا الله وإياكم لكل خير

بعد إذن الأحباب المشاركين

هذه محاولة مني لعلها تكون الإجابة

تم التلوين باستخدام التنسيق الشرطي بتحديد النطاق $E$8:$AI$62 وإضافة قاعدة التلوين


=WEEKDAY(E$12)=6

وتعني أن يوم هذا التاريخ هو الجمعة على أساس أن ترقيم الأسبوع في إكسل يبدأ يوم الأحد

وتم تنفيذ الإظهار والإخفاء في حدث عند التغيير لورقة العمل


Private Sub Worksheet_Change(ByVal Target As Range)
For c = 33 To 35
Columns(c).EntireColumn.Hidden = 0
If Day(Cells(12, c)) < Day(Cells(12, 32)) Then Columns(c).EntireColumn.Hidden = 1
Next c
End Sub

وهي للتأكد من أن اليوم المكتوب في الأعمدة من 33 إلى 35 أكبر من اليوم الموجود في العمود 32 وهو 28 في الشهر

فإذا كان أصغر تعني أنه شهر جديد فيقوم بإخفاء العمود كله

أترككم في رعاية الله

mas_solok.rar

أ / محمد صالح

 

عمل أكثر من رائع

الإخفاء يتم بسهولة ويسر والحمد لله

لكن أين أضع كود التلوين

فهو لم يعمل معى إطلاقا

مع العلم أنه يعمل بكفاءة على الملف المرفق منكم

لكن عند نقله لملف العمل الخاص بى التلوين لا يعمل

ملحوظة

 

تم نقل الخلية التى تحدد اليوم إلى

D1

وليس

D2

كما فى الملف

 

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

بارك الله لك أخي الكريم

اعتمدت على أنك تعرف كيفية عمل التنسيق الشرطي

وبناء عليه 

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

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