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

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

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

بسم الله الرحمن الرحيم

وبه نستعين

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

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

الموضوع

لديك عدة اعمدة مخفية متمثلة فى النطاق من DK : DE هذا على سبيل المثال

المطلوب بحول الله تعالى كود لإظهار هذة الاعمدة إعتمادا على تاريخ الويندوز ومن ثم إخفاؤها مرة أخرى بنهاية الشهر المحدد

مثال

الاعمدة من DI : DE  إظهار فى شهر يناير 

العمود DJ  إظهار فى شهر يونيو

العمود DK  إظهار فى شهر يوليو

تقبلوا وافر تقديرى واحترامى **** وجزاكم الله خيرا

التعديلات.rar

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

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

انسخ هذا الكود والصقه فى الموديول

Sub HidUnhde()
Dim dat As Byte
dat = Month(Now)
If dat = 1 Then
Columns("DI:DE").Hidden = False
End If
If dat = 6 Then
Columns("DK").Hidden = False
End If
If dat = 7 Then
Columns("DK").Hidden = False
End If
End Sub

 

  • Like 1
قام بنشر

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

بداية جزاكم الله خيرا وبارك فيكم أخى الفاضل الاستاذ // زيزو

دعنى أوضح لسيادتكم لاننى اريد أن يتم إظهار وإخفاء الاعمدة المذكورة بطريقة تلقائية

بتغير تاريخ الويندوز دون اللجوء لعمل Button *** مثالا على ذلك

النطاق الاول من  DI : DE  يظل هذا النطاق مخفيا طوال العام بإستثناء شهر يناير من كل عام وهكذا لبقية الاعمدة المذكورة

بمعنى أنه فى يوم 1/1 من كل عام يتم إظهار تلك الاعمدة ومع نهاية شهر يناير 1/31 يتم إخفاؤها

ارجو من الله العلى القدير أن اكون وفقت فى توضيح الموضوع

تقبلوا وافر تقديرى واحترامى **** وجزاكم الله خيرا 

قام بنشر

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

ضع هذا الكود فى حدث الصفحة

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
Dim dat As Byte
dat = Month(Now)
If dat = 1 Then
Columns("DI:DE").Hidden = False
Else
Columns("DI:DE").Hidden = True
End If
If dat = 6 Then
Columns("DK").Hidden = False
Else
Columns("DK").Hidden = True
End If
If dat = 7 Then
Columns("DK").Hidden = False
Else
Columns("DK").Hidden = True
End If
Application.ScreenUpdating = True
End Sub

 

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

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

بارك الله فيكم أخى الفاضل الاستاذ // زيزو

مجهود أكثر من رائع فجزاكم الله تعالى عنى خير الجزاء

هناك جزئية بسيطة  بشأن تنفيذ الكود *** لتنفيذ الكود هنا أضطر أن أضغط على أى خلية فارغة للتنفيذ سواء بالاظهار أو الاخفاء

فهل يمكن تحديد بدايات ونهايات الشهور المعنية كتاريخ محدد فى حدث فتح المصنف

حيث سيتم إشعار الإكسيل بتنفيذ كود معين في تاريخ محدد .. وبالتالى عند الوصول للتاريخ المحدد سيتم التنفيذ تلقائيا

مثالا على شهر يناير

من 1/ 1 /2017 إظهار تلقائى حتى نهاية الشهر 31/ 1 /2017  يتم الاخفاء تلقائيا وهكذا لبقية الشهور

أو بالاحرى من بداية شهر يناير " إظهار" حتى الوصول لنهاية الشهر " إخفاء"  وهكذا لبقية الشهور

تقبل وافر تقديرى واحترامى **** وجزاكم الله خيرا 

 

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

جزاك الله خيرا أخي  زيزو العجوز

الكود صحيح للغرض المطلوب

ويمكنك وضع الكود السابق في حدث تنشيط الشيت

Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Dim dat As Byte
dat = Month(Now)
If dat = 1 Then
Columns("DI:DE").Hidden = False
Else
Columns("DI:DE").Hidden = True
End If
If dat = 6 Then
Columns("DK").Hidden = False
Else
Columns("DK").Hidden = True
End If
If dat = 7 Then
Columns("DK").Hidden = False
Else
Columns("DK").Hidden = True
End If
Application.ScreenUpdating = True
End Sub

كما هو مطلوب

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

جزاك الله خيرا أخي  زيزو العجوز

الكود صحيح للغرض المطلوب

ويمكنك وضع الكود السابق في حدث تنشيط الشيت


Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Dim dat As Byte
dat = Month(Now)
If dat = 1 Then
Columns("DI:DE").Hidden = False
Else
Columns("DI:DE").Hidden = True
End If
If dat = 6 Then
Columns("DK").Hidden = False
Else
Columns("DK").Hidden = True
End If
If dat = 7 Then
Columns("DK").Hidden = False
Else
Columns("DK").Hidden = True
End If
Application.ScreenUpdating = True
End Sub

كما هو مطلوب

ولله زمان ياأبو صالح ليك وحشة كبيرة

ولكن يحتاج الامر هنا الدخول لمحررالاكواد لتنفيذ الكود كلما تتطلب الامر

فهل من سبيل أخر كما هو موضح فى مشاركتى السابقة  **** تقبلوا وافر تقدير واحترامى **** وجزاكم الله خيرا

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

الاستاذ الفاضل // محمد صالح

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

بداية جزاكم الله خيرا وبارك فيكم

اليوم هو 2017/4/26 مع تغير تاريخ الجهاز الى 2017/1/1 للتجربة

لايتم إظهار الاعمدة المحدد بطريقة تلقائية مع فتح الملف

أرجو إجراء هذة التجربة والافادة فربما يوجد لدىُ مشكلة *** أرجو الافادة

وافر تقديرى واحترامى **** وجزاكم الله خيرا

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

علشان حدث التنشيط يشتغل

ممكن تضغط على أي شيت تاني وبعدين تضغط على الشيت المطلوب

وزيادة في التأكيد

ممكن تحط الكود في حدث فتح المصنف

Private Sub Workbook_Open()

وإذا كان الملف أكثر من شيت يجب تحديد شيت العمل المطلوب 

With Worksheets("Sheet1")

ووضع الكود هنا ثم إنهاء التعامل مع الشيت المطلوب

 End With

تم تعديل بواسطه أ / محمد صالح
  • 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