Mina EL-Prince قام بنشر ديسمبر 30, 2014 قام بنشر ديسمبر 30, 2014 السادة اعضاء منتدانا العزيز اوفيسنا ارجو المساعدة في الماكرو التالي : فكرة البرنامج بسيطة جدا وهي عبارة عن رفع الحماية عن الصفحة واخفاء مجموعة من الاعمدة وتفعيل الحماية مرة اخرة وعمل تكرار على عدد 23 صفحة المشكلة اللى بتواجهني هو اني عايز اشتغل على اسم شيت الاكسل اللى جوا الماكرو مش اللى بيظهر في الاكسل وعلية انا ظبط المتغير ودية النقطة اللى انا مش عارف اتخاطاها Sub FrcstAll() Dim ShtNme As Worksheet NwFrcst = "All" For M = 2 To 23 Step 1 If Len(M) = 1 Then Set ShtNme = Worksheets("Sheet" & 0 & M) Else Set ShtNme = Worksheets("Sheet" & M) End If With ShtNme .Unprotect "" If NwFrcst = "All" Then .Range("D:F, J:L, S:U").EntireColumn.Hidden = True .Range("M:O").EntireColumn.Hidden = True .Range("G:I, P:R, V:X").EntireColumn.Hidden = False Else .Range("D:F, J:L, S:U").EntireColumn.Hidden = False .Range("M:O").EntireColumn.Hidden = True .Range("G:I, P:R, V:X").EntireColumn.Hidden = True End If .Protect "" End With Next M End Sub
ابو تراب قام بنشر ديسمبر 30, 2014 قام بنشر ديسمبر 30, 2014 هلا ممكن ينفع هذا استبدل Set ShtNme = Worksheets("Sheet" & 0 & M) Else Set ShtNme = Worksheets("Sheet" & M) End If بـــ Set ShtNme = Sheets(M) جرب
Mina EL-Prince قام بنشر ديسمبر 30, 2014 الكاتب قام بنشر ديسمبر 30, 2014 (معدل) هلا ممكن ينفع هذا استبدل Set ShtNme = Worksheets("Sheet" & 0 & M) Else Set ShtNme = Worksheets("Sheet" & M) End If بـــ Set ShtNme = Sheets(M) جرب شكرا اخي العزيز على الرد ولكن انا اسف اني النتيجة غير ناجحة برجاء العلم اني احاول عمل الدائرة التكرارية على اسماء الشيتات التي تظهر في واجهة الماكرو وليس الاسماء التي تظهر امام مستخدم الاكسل العادي ، حيث اني قمت بترقيم الشيت من رقم Sheet01 وحتي Sheet23 اريد جعل الرقم 01 يتم تغييرة حتي الرقم 23 ولكم جزيل الشكر تم تعديل ديسمبر 30, 2014 بواسطه Mina EL-Prince
ابو تراب قام بنشر ديسمبر 30, 2014 قام بنشر ديسمبر 30, 2014 لو ترفق مثال ليتمكن الاعضاء الكرام من تقديم المساعدة و تتضح الصورة و المطلوب
الردود الموصى بها