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

الرجاء كود لإخفاء ومنع التغيير في الدوال في جميع الشيتات مرة واحدة


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

الأخ ريان

 

بالنسبة لاخفاء المعادلات بالشكل اليدوي يتم على الشكل التالي :

 

بالدخول علي الخلية الموجود بها المعادلة وعمل كليكة يمين ومن ثم إختيار :
تنسيق (Format) > خلايا (Cells) > حماية (Protection) > إختيار مربعات الإختيار Locked و Hidden وننقر زر ok ثم من قائمة الأدوات نختار Protection ثم Protection Sheet ثم نكتب كلمة السر
أما إذا أردت فك الحماية فقم بعمل التالي:
ويتم فك الحماية من قائمة الأدوات > إلغاء حماية ورقة Unprotect Sheet حيث يتم السؤال عن كلمة السر

 

أما الكود فهو التالي :

 

Sub Hide()
    Selection.Select
    Selection.Locked = True
    Selection.FormulaHidden = True
    Sheets("الورقة1").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
تم تعديل بواسطه عزيز عرابي
رابط هذا التعليق
شارك

شاهد الرابط التالي بعنوان

إخفاء وحماية المعادلات برسالة تحذيرية والدخول برقم سرى

http://www.officena.net/ib/index.php?showtopic=45743&hl=

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

السلام عليكم

 

تحياتي للجميع , اسعد الله صباحكم

 

جرب هذه 

Sub Dahmour()
For Each s In ActiveWorkbook.Sheets
s.Unprotect
s.Cells.Locked = False
s.Cells.FormulaHidden = False
s.Cells.SpecialCells(xlCellTypeFormulas).Locked = True
s.Cells.SpecialCells(xlCellTypeFormulas).FormulaHidden = True
s.Protect
Next
End Sub

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

السلام عليكم

أستاذي حمادة عمر الرابط الذي أعطيته لي فيه كود يقوميقوم بغلق بالنطاق أما أنا أريده دفعة واحدة وفي كل الشيتات

 

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

 

 

ttttttttt.rar

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

السلام عليكم

 

الخطأ يظهر عند وجود صفحات لا يوجد فيها معدلات .

 

استبدله بهذا

Sub Dahmour()
For Each s In ActiveWorkbook.Sheets
s.Unprotect
s.Cells.Locked = False
s.Cells.FormulaHidden = False
On Error Resume Next
s.Cells.SpecialCells(xlCellTypeFormulas).Locked = True
s.Cells.SpecialCells(xlCellTypeFormulas).FormulaHidden = True
s.Protect
Next
End Sub

تحياتي

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

السلام عليكم

الاخ العزيز / ريان أحمد

بارك الله فيك

بعد اذن اخي الحبيب / احمد عبد الناصر ... جزاه الله خيرا

يمكنك وضع الباسورد الذي تريده في الكود في السطر التالي .... والرقم السري هو هنا  1 ويمكنك تغييره كما تريد بين الاقواس

s.Unprotect "1"

وكذلك في السطر

s.Protect "1"

ليكون بذلك الشكل النهائي للكود كما يلي

Sub Dahmour()
For Each s In ActiveWorkbook.Sheets
s.Unprotect "1"
s.Cells.Locked = False
s.Cells.FormulaHidden = False
On Error Resume Next
s.Cells.SpecialCells(xlCellTypeFormulas).Locked = True
s.Cells.SpecialCells(xlCellTypeFormulas).FormulaHidden = True
s.Protect "1"
Next
End Sub

جزاك الله خيرا

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

السلام عليكم

 

أستاذي حمادة  عمر شكر على التعديل

 

لمن هناك ملاحظة 

 

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

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

السلام عليكم

 

الكود يقوم بفك الحماية من علي الشيت ثم يزيل الحماية من علي جميع الخلاية ثم يقوم بحماية خلايا المعادلات ثم اعادة حماية الشيت .

 

وبالتالي فان كان هناك خلايا محمية لا تحتوي علي معادلات فبعد تشغيل الكود سوف تزال الحماية من عليها .

 

جرب الكود 

 

يقوم بالحماية دون فك حماية اي خلايا 

Sub Dahmour()
For Each s In ActiveWorkbook.Sheets
s.Unprotect "1"
On Error Resume Next
s.Cells.SpecialCells(xlCellTypeFormulas).Locked = True
s.Cells.SpecialCells(xlCellTypeFormulas).FormulaHidden = True
s.Protect "1"
Next
End Sub

لا ادري ان كان هذا ما تقصد بتساؤلك ام شيء اخر 

 

تحياتي

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

أستاذي

 

أنا أقصد أنا الكود الذي يفي بالغرص هو هذا الكود

 

 

 

Sub Dahmour()
For Each s In ActiveWorkbook.Sheets
s.Unprotect "1"
s.Cells.Locked = False
s.Cells.FormulaHidden = False
On Error Resume Next
s.Cells.SpecialCells(xlCellTypeFormulas).Locked = True
s.Cells.SpecialCells(xlCellTypeFormulas).FormulaHidden = True
s.Protect "1"
Next
End Sub

 

 

 

 

 

 

لكن أريدك أن تصع الكود في ورقة    ثم تقوم بحماية الورقة من outil -----pretction  

 

 

فيطالبك بجعل كلمة السر هي نفسها التي في الكود 

 

 

يعني أريدهما منفصلتين

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

الاخوة الاعزاء لكم جزيل الشكر على مجهوداتكم الرائعة واعمالكم العظيمة

 

قمت بتجربة هذا الكود   وهو فعلا يخفى الخلايا المحمية وبها دوال

 

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

 

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

  • 1 year later...

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.

×
×
  • اضف...

Important Information