VBA UnProtect Sheet | استخدم كود فبا لإلغاء حماية ورقة إكسل
ورقة Excel VBA Unprotect
هناك حالات نقوم فيها بحماية أوراق العمل الخاصة بنا لمنعها من معالجة المستخدم لأوراق العمل. أثناء حماية ورقة العمل ، عادة ما نحتفظ بنفس كلمة المرور. في هذه المقالة ، سنوضح لك طريقة إلغاء حماية الورقة باستخدام تشفير VBA.
أمثلة
يمكنك تنزيل قالب Excel للورقة VBA Unprotect من هنا - قالب Excel للورقة VBA Unprotectمثال 1
يعد إلغاء حماية الورقة أبسط بنسبة 99٪ من حمايتها ، فنحن نحتاج فقط إلى كلمة المرور لإلغاء حماية ورقة العمل.
أول شيء يتعين علينا القيام به هو ذكر اسم ورقة العمل التي سنقوم بإلغاء حمايتها. على سبيل المثال ، إذا كنت تبحث عن إلغاء حماية الورقة المسماة "بيانات المبيعات" ، فيجب أن يكون رمز VBA الخاص بك على هذا النحو.
أوراق العمل ("بيانات المبيعات")
ثم قم بالوصول إلى طريقة Unprotect.
كما نرى في الصورة أعلاه ، لا نرى أي نوع من قائمة التحسس الذكي لمساعدتنا. هذا يجعل المهمة أصعب ، خاصة بالنسبة للمتعلم الجديد.
للتغلب على هذا أعتمد عادة على إعلان متغير VBA كـ "ورقة عمل".
رمز:
Sub Unpretect_Example1 () خافت Ws مثل نهاية ورقة العمل الفرعية
الآن قم بتعيين المتغير المعلن على الورقة المعنية.
رمز:
Sub Unpretect_Example1 () Dim Ws مثل مجموعة أوراق العمل Ws = أوراق العمل ("بيانات المبيعات") End Sub
استخدم الآن متغيرًا للوصول إلى جميع خصائص وطرق المتغير المعلن.
كما ترى في الصورة أعلاه يمكننا الوصول إلى جميع الخصائص والطرق. حدد طريقة "Unprotect" من قائمة IntelliSense.
يطلب من كلمة المرور إلغاء حماية الورقة. لقد قمت بتعيين كلمة المرور على أنها "Excel @ 1234" لذا سأقدم كلمة المرور نفسها.
سيؤدي هذا إلى إلغاء حماية ورقة العمل المسماة "بيانات المبيعات".
رمز:
Sub Unpretect_Example1 () Dim Ws مثل مجموعة ورقة العمل Ws = أوراق العمل ("بيانات المبيعات") Ws.Unprotect Password: = "Excel @ 1234" End Sub
إذا لم تكن هناك كلمة مرور ، فنحن نحتاج فقط إلى استخدام طريقة "Unprotect" وتجاهل معلمة "Password".
رمز:
Sub Unpretect_Example1 () Dim Ws As مجموعة أوراق العمل Ws = Worksheets ("Sales Data") 'قم بتغيير اسم ورقة العمل وفقًا لمتطلباتك Ws.Unprotect' إذا لم تكن هناك كلمة مرور ، فقم فقط بتمرير طريقة "UnProtect" End Sub
إذا كان هناك أي كلمة مرور ، فنحن بحاجة إلى إدخال كلمة المرور بين علامتي اقتباس. كلمة المرور حساسة لحالة الأحرف ، لذا تذكرها بعناية.
مثال # 2 - قم بإلغاء حماية جميع أوراق Excel بنقرة واحدة فقط
لقد رأينا كيفية إلغاء حماية ورقة العمل المعينة. تخيل أن لديك العديد من أوراق العمل وجميع أوراق العمل محمية بكلمة المرور نفسها ، فلا يمكننا الاستمرار في كتابة الرموز لكل ورقة عمل على حدة.
في هذه الحالات ، نحتاج إلى استخدام الحلقات الحلقية للتكرار خلال مجموعة كائن ورقة العمل وإلغاء حمايتها بسهولة.
سيتم تنفيذ الكود أدناه خلال جميع أوراق العمل وإلغاء حماية الورقة.
رمز:
Sub Unpretect_Example2 () Dim Ws كورقة عمل لكل Ws في ActiveWorkbook.Worksheets Ws.Unprotect Password: = "Excel @ 1234" "قم بتغيير كلمة المرور كما ذكرتها أثناء حمايتها. التالي Ws End Sub
مثال # 3 - حالات خاصة
الموقف 1: تخيلت يومًا ما عندما تكون كلمة المرور المقدمة خاطئة. عندما تكون كلمة المرور المزودة خاطئة ، سنحصل على 1004: خطأ في وقت التشغيل.
للتعامل مع هذه الأخطاء يمكننا استخدام خيار "On Error GoTo Label". الكود أدناه هو مثال على ذلك.
رمز:
Sub Unpretect_Example3 () Dim Ws كورقة عمل لكل Ws في ActiveWorkbook.Wsheets عند الخطأ انتقل إلى Errormessage Ws.Unprotect Password: = "Excel @ 1234" 'قم بتغيير كلمة المرور كما ذكرتها أثناء حمايتها. Errormessage: MsgBox "كلمة مرور خاطئة" التالي Ws End Sub
سيظهر الرمز أعلاه مربع رسالة جميل يقول "كلمة مرور خاطئة".
الموقف 2: عندما تكون الورقة محمية بدون كلمة مرور وإذا قمت بتوفير كلمة مرور عشوائية ، فستظل تلغي حماية ورقة العمل دون إظهار أي نوع من الأخطاء.
الموقف 3: عندما تكون الورقة محمية بكلمة مرور ولكن إذا لم تقدم أي كلمة مرور ، فسيظهر VBA كمربع إدخال كلمة مرور لإدخال كلمة المرور.
في مربع الإدخال أعلاه ، نحتاج إلى إدخال كلمة المرور الخاصة بنا لإلغاء حماية ورقة العمل. إذا قمت بالنقر فوق الزر إلغاء ، فسيتم الخروج من الإجراء الفرعي لـ VBA دون إظهار أي شيء ما لم يكن هناك أي مربع رسالة للمستخدم.