اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

مطلوب كود إخفاء أسطر بشرط موجود فى خلية


إذهب إلى أفضل إجابة Solved by lionheart,

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

المطلوب كود يوضع فى حدث ورقة العمل ليعمل فى جميع شيتات الورقة فى حالة توفر الشروط
خلية الشرط V1
الحالة 1 إذا كانت قيمة الخلية V1 هى 28 يتم إخفاء الأسطر من 1363 الى 1387
الحالة 2 إذا كانت قيمة الخلية V1 هى 29 يتم إخفاء الأسطر  1361 و 1362
و شكراً لكم مقدماً
 

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

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

فيجب وضع الكود في هذا المصنف thisworkbook

وإذا كان المقصود بالأسطر الصفوف فيمكنك استعمال هذا الكود

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If [v1] = 28 Then
Sh.Rows("1363:1387").Hidden = True
Sh.Rows("1361:1362").Hidden = False
Else
Sh.Rows("1363:1387").Hidden = False
Sh.Rows("1361:1362").Hidden = True
End If
End Sub

ويمكن اختصاره إلى هذا

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Sh.Rows("1363:1387").Hidden = IIf([v1] = 28, True, False)
Sh.Rows("1361:1362").Hidden = IIf([v1] = 28, False, True)
End Sub

بالتوفيق

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

الحمد لله الذي وفقنا لهذا

الكود ترجمة لمطلوبك تماما

اذا كانت قيمة الخلية V1 = 28 يظهر الصفوف كذا ويخفي كذا

واذا لم تكن 28 يعمل العكس

وفقنا الله جميعا لكل ما يحبه ويرضاه 

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

ينطبق على الأول والثاني اخي الكريم

هي مجرد استعمال لقاعدة IF في سطر واحد لذلك تكتب IIF

خاصية الإخفاء للصفوف كذا هي نتيجة الشرط true أو false

والشرط هو V1 = 28

وفقنا الله جميعا لكل ما يحبه ويرضاه 

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

  • 3 weeks later...
في 26‏/11‏/2023 at 09:10, أ / محمد صالح said:

ينطبق على الأول والثاني اخي الكريم

هي مجرد استعمال لقاعدة IF في سطر واحد لذلك تكتب IIF

خاصية الإخفاء للصفوف كذا هي نتيجة الشرط true أو false

والشرط هو V1 = 28

وفقنا الله جميعا لكل ما يحبه ويرضاه 

السلام عليكم أخى محمد صالح
الكود كان شغال تمام التمام لكن معرفش ليه مابقاش يشتغل
المفروض فى صفحة النتيجة لما بغير السنة فى الخلية A1 سواء بالكتابة أو بالأسهم بيتغير التاريخ فى الخلية AK3 اللى بتسمع فى شيت أيام السنة فى الخلية A2 و بناء عليه يتغير الرقم فى الخلية V1 بين 28 أو 29 اللى بناء عليه هتختفى الأسطر أو هتظهر
مرفق الملف لإلقاء نظرة لإصلاح العطل

تنظيم الحجوزات.rar

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

  • أفضل إجابة

The error is because you have protected your worksheets so I think you encountered the error. To fix the problem just unprotect the worksheet before working on it and at the end to protect it again

Sub HideRowsBasedOnCondition()
    Dim conditionValue, ws As Worksheet, conditionCell As Range, rowRange As Range
    For Each ws In ThisWorkbook.Sheets
        Set conditionCell = ws.Range("V1")
        conditionValue = conditionCell.Value
        ws.Unprotect
            ws.Rows.Hidden = False
            If conditionValue = 28 Then
                Set rowRange = ws.Rows("1363:1387")
                rowRange.Hidden = True
            ElseIf conditionValue = 29 Then
                Set rowRange = ws.Rows("1361:1362")
                rowRange.Hidden = True
            End If
        ws.Protect
    Next ws
End Sub

I just added two lines

ws.Unprotect

And

ws.Protect

 

  • 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