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

تعديل على كود لإخفاء الأعمدة (كشف حضور وغياب)


alliiia
إذهب إلى أفضل إجابة Solved by عبدالله الصاري,

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

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

تحية طيبة أيها الكرام

 

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

وأريد كود آخر بنفس طريقة العمل لكن يكون سريع وحجمه ليس بالطويل جدًا فهذا الكود يأخذ وقت كثير في إعداده وتغيير اسم كل شهر مع تغيير خانة الأعمدة... في حال أردت أن أطبقه على بعض ملفات الإكسيل التي عندي.

 

فهل يوجد شيء خفيف وسريع، وأرجو أن يكون مع الشرح بداخل الكود باللغة العربية، ودمتم سالمين.

 

كشف حضور وغياب.xlsm

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

  • أفضل إجابة

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

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

اما طول الكود فتم اختصاره بكود من المنتدى

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

تحياتي

 

 

كشف حضور وغياب1.xlsm

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

اولاأيوجد خطأ بالكود قم بتعديل كلمة إبريل الى أبريل بالكود بملفك كالتالي

      

         Case Is = "إبريل": kh_ColumnHidden "FC:FV"

الى 

         Case Is = "أبريل": kh_ColumnHidden "FC:FV"

ثانيا لضمان الحقوق وكما اشرت في مشاركتى بالاعلي ان الكود من المنتدى وهو للعلامة اخونا من اليمن  (وقاها الله وحفظ اهلها من الفتن والحروب ) الاستاذ عبدالله باقشير

ثالتا ساحاول ان اشرح الكود

الكود يتكون من جزء رئيسي وهو يتم اخفاء كل الاعمدة من العمود Gالى الى اخر عمود XFD

بمعني اخفاء كل الاعمدة بالصفحة عد1 الخمسة الاعمده الاولي  والتي بها الاسم وايام الحضور الخ

Sub kh_ColumnHidden(ColumnAddres As String)
' الغاء اهتزاز الشاشة
  Application.ScreenUpdating = False
' الصفخة المراد تطبيق الكود عليها
    Sheets("الحضور والغياب").Select
' اخفاء الاعمدة من العمود G الى اخر عمودXFD
    Columns("G:XFD").EntireColumn.Hidden = True
    Columns(ColumnAddres).EntireColumn.Hidden = False
End Sub
بعد اخفاء جميع الاعمدة عدا الخمسة الاولي سنقوم باظهار الاعمدة التي نحتاجها 

If Not Application.Intersect(Range("B2"), Range(Target.Address)) Is Nothing Then
        Select Case Target.Value
        Case Is = "سبتمبر": kh_ColumnHidden "G:AB"
        Case Is = "أكتوبر": kh_ColumnHidden "AC:AW"
        Case Is = "نوفمبر": kh_ColumnHidden "AX:BS"
        Case Is = "ديسمبر": kh_ColumnHidden "BT:CO"
        Case Is = "يناير":  kh_ColumnHidden "CP:DK"
        Case Is = "فبراير": kh_ColumnHidden "DL:EE"
         Case Is = "مارس": kh_ColumnHidden "EF:FB"
         Case Is = "أبريل": kh_ColumnHidden "FC:FV"
         Case Is = "مايو": kh_ColumnHidden "FW:GS"

السطر الاول  B2 وهي الخلية التي يتم اختيار الشهر منها

Select Case Target.Value

يتم اختيار الحالة (الشهر) حسب القيمة  اي قيمة B2

Case Is = "سبتمبر": kh_ColumnHidden "G:AB"

في حالة B2 تساوي ستمبر قم باظهار الاعمدة  من "G:AB"

فلو ذهبت الى شيت الحضور والغياب لوجدت شهر سبتمبر يبدأ من العمو د G وينتهي عند العمود AB

وهكذا لبقية الاشهر

اتمنى اني قدمت ما يفيدك

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

ما شاء الله تبارك الرحمن، زادك الله من فضله، لقد هذبته وسهلت ما كان صعبًا ومغلقًا، فتح الله عليك ورفع قدرك.

 

وبالنسبة لأبريل أو إبريل؟ أقر مجمع اللغة العربية في القاهرة -كما في كتاب المعجم الكبير- كتابتها بـ (أبريل)، في حين مجمع اللغة في دمشق أقروها بـ (إبريل) لأن الأجانب ينطقونها هكذا بالكسر، فيجوز كتابتها بالوجهين. 

والله أعلم. 

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

اخي الفاضل 

افادك الله كما افدتنا وجزاك الله كل خير

الخطأ ليس لغوي بل برمجي فيجب ان تكون الكلمة  متوافقة في القائمة المنسدلة في الخلية B2 مغ الكلمة الموجودة في الكود

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

واذا كانت كلمةإبريل في القائمة المسدلة  بالكسرةفيجب ان تكون في الكود نفسها بالكسرة

واذا كانت كلمة ابريل بدون كسرة ولا فتحة فيجب ان تكون في الكود مثلها

بمعنى التطابق التام في شكل اي كلمة بما في القائمة والكود

حفظك الله ورعاك

 

 

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

آمين آمين وإياكم أخي الحبيب، ما شاء الله عليك كلامك كله تسهيل وتيسير!!

سهل الله عليك أمورك ويسر لك يارب.

نعم كنت فهمت قصدك! -بالنسبة للهمزة- وليتني بينت ذلك حتى لا أشق عليك في المزيد من الإيضاح والتبيين

ولكن طبعك كريم! ولعل الإخوة ينتفعون

نسأل الله أن يستعملنا في طاعته، ومن طاعته نشر العلم في خدمة المسلمين. 

 

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

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