يوسف عطا قام بنشر نوفمبر 25, 2023 قام بنشر نوفمبر 25, 2023 المطلوب كود يوضع فى حدث ورقة العمل ليعمل فى جميع شيتات الورقة فى حالة توفر الشروط خلية الشرط V1 الحالة 1 إذا كانت قيمة الخلية V1 هى 28 يتم إخفاء الأسطر من 1363 الى 1387 الحالة 2 إذا كانت قيمة الخلية V1 هى 29 يتم إخفاء الأسطر 1361 و 1362 و شكراً لكم مقدماً
أ / محمد صالح قام بنشر نوفمبر 25, 2023 قام بنشر نوفمبر 25, 2023 إذا كان المطلوب أن يعمل الكود في حدث التغيير في جميع الشيتات فيجب وضع الكود في هذا المصنف 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 بالتوفيق 2 2
يوسف عطا قام بنشر نوفمبر 26, 2023 الكاتب قام بنشر نوفمبر 26, 2023 الأخ الغالى الأستاذ محمد صالح الف شكر لمعاليك الكود يعمل بكفاءة هل أطمع فى شرح لكل سطر فى الكود ؟؟
أ / محمد صالح قام بنشر نوفمبر 26, 2023 قام بنشر نوفمبر 26, 2023 الحمد لله الذي وفقنا لهذا الكود ترجمة لمطلوبك تماما اذا كانت قيمة الخلية V1 = 28 يظهر الصفوف كذا ويخفي كذا واذا لم تكن 28 يعمل العكس وفقنا الله جميعا لكل ما يحبه ويرضاه 1
يوسف عطا قام بنشر نوفمبر 26, 2023 الكاتب قام بنشر نوفمبر 26, 2023 تمام أخى الغالى هذا ينطبق بالظبط على الكود الأول ولكن الكود المختصر فكرته مش قادر أشرحها لنفسى
أ / محمد صالح قام بنشر نوفمبر 26, 2023 قام بنشر نوفمبر 26, 2023 ينطبق على الأول والثاني اخي الكريم هي مجرد استعمال لقاعدة IF في سطر واحد لذلك تكتب IIF خاصية الإخفاء للصفوف كذا هي نتيجة الشرط true أو false والشرط هو V1 = 28 وفقنا الله جميعا لكل ما يحبه ويرضاه
يوسف عطا قام بنشر ديسمبر 15, 2023 الكاتب قام بنشر ديسمبر 15, 2023 في 26/11/2023 at 09:10, أ / محمد صالح said: ينطبق على الأول والثاني اخي الكريم هي مجرد استعمال لقاعدة IF في سطر واحد لذلك تكتب IIF خاصية الإخفاء للصفوف كذا هي نتيجة الشرط true أو false والشرط هو V1 = 28 وفقنا الله جميعا لكل ما يحبه ويرضاه السلام عليكم أخى محمد صالح الكود كان شغال تمام التمام لكن معرفش ليه مابقاش يشتغل المفروض فى صفحة النتيجة لما بغير السنة فى الخلية A1 سواء بالكتابة أو بالأسهم بيتغير التاريخ فى الخلية AK3 اللى بتسمع فى شيت أيام السنة فى الخلية A2 و بناء عليه يتغير الرقم فى الخلية V1 بين 28 أو 29 اللى بناء عليه هتختفى الأسطر أو هتظهر مرفق الملف لإلقاء نظرة لإصلاح العطل تنظيم الحجوزات.rar
أفضل إجابة lionheart قام بنشر ديسمبر 15, 2023 أفضل إجابة قام بنشر ديسمبر 15, 2023 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 1
يوسف عطا قام بنشر ديسمبر 15, 2023 الكاتب قام بنشر ديسمبر 15, 2023 (معدل) الف شكر عزيزى المحترم قلب الأسد جارى التجربة لكن هل يظل الكود فى حدث ورقة العمل ؟؟ أم يجب أن يوضع فى الشيت نفسه ؟؟ حيث يمكن أن أضيف شيتات أخرى فيما بعد تم تعديل ديسمبر 15, 2023 بواسطه يوسف عطا
lionheart قام بنشر ديسمبر 15, 2023 قام بنشر ديسمبر 15, 2023 You can execute the code in the worksheet event but I think it is better to execute the code for once when you would like to change 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.