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

ماكرو حماية المعادلات فقط


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

يا استاذة المنتدى

حملت ماكرو حماية المعادلات ولكن على صفحة فى الملف فقط

واريدان ينفذ على كل الملف بجميع صفحاتة

برجاء المساعدة

ولكم جزيل الشكر

_______________.rar

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

السلام عليكم

اخى السائل khhanna

انت سالت عن حمايه الخلايا التى تحتوى على صيغ

لكن الكود بحمايه كل الشيت

سارفق ملف جربه

عساه يكون اقرب لما تريد

حيث لا يسمح لك بالتحرير(الكتابه)في الخليه المحتوية على صيغة

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Target.HasFormula Then
ActiveSheet.Protect
Else
ActiveSheet.Unprotect
End If
End Sub

Protect_Formulas.rar

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

بالإضافة الى افكار العباقرة الذين سبقوني

الأستاذ اكرم الغامدي

و الأستاذ ابو اسامة

هذه فكرة اخرى

تعتمد الفكرة على انيتم المرور على كل اوراق الملف

و حماية الورقة و التعامل مع الخلايا الفارغة و قفل جميع الخلايا المكتوب بها من السابق

بحيث لن يستطيع المستخدم تعديل اي ادخالات سابقة قبل فتح الملف

Private Sub Workbook_Open()

For s = 1 To Sheets.Count

Sheets(s).Select

ActiveSheet.Unprotect

E = ActiveSheet.UsedRange.Rows.Count

R = ActiveSheet.UsedRange.Columns.Count

For q = 2 To R

For W = 3 To E

If Cells(W, q).Value <> "" Then

Cells(W, q).Locked = True

Else

Cells(W, q).Locked = False

End If

Next W

Next q

ActiveSheet.Protect Password:=MyPassword, DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True _

, AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:=True



Next s



End Sub

ولكن المشكلة الوحيدة للكود انه لن يقوم باغلاق الخلايا التي ناتج الدالة بها = "" فراغ

وقد يستطيع احد الأساتذة تعديلة ليشمل ذلك

protectSheets_____.rar

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

استاذ ابو اسامة

انا الذي يجب ان اشكرك

فلقد تعلمت منك

ActiveSheet.UsedRange

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

تحياتي وتقدير لشخصك الكريم

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

الأخوة الكرام

السلام عليكم

جزاكم الله كل خير علي ما تقدموه لمساعدة الآخرين وجعله الله في ميزان حسناتكم

ولكن لى ملاحظه

كود ابو اسامه جميل جدا ويعمل علي الملف كله وليس به مشاكل

اما كود الأستاذ احمد يعقوب عند تجربتة بعض الخصائص لاتعمل مثل ( ادراج صف او عمود - وكذلك عملية الفرز لاتعمل )

وللجميع كل التحية والشكر والتقدير

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

السلام عليكم و رحمة الله

اخي khhanna

علشان نستوضح المطلوب اكثر

الماكرو الذي سبق و ارسلته كما شرحت لك

يقوم باغلاق جميع الخلايا

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

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

يمكنك ذلك عن طريق التحقق من صحة Validation

في المرفق تم تعديل الكود السابق

بحيث يقوم الكود باغلاق الخلايا التي بها دوال فقط مع حماية كامل الورقة

و

جرب الغاء الحماية ثم تعديل الدالة الموجود ايضا لن تستطيع تعديلها

بسبب استخدام التحقق من صحة Validation

آمل ان تفي احد هاتين الطريقتين بالغرض المطلوب

protectSheets__________.rar

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

شكراُ يا استاذ احمد

تم عمل المطلوب و الملف اشتغل كويس

ولكن اذا عملت معادلة جديدة فى الملف لا يتم حمايتها الا اذا

قفلت و فتحت الملف تانى علشان الماكرو يحمى المعادلة

فهل ممكن يحمى المعادلة فوراً بعد الكتابة

و شكراً

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

السلام عليكم

بارك الله في جميع المشاركين

و بعد اذن اخي احمد المبدع

اخي الفاضل

اولا يجب ان تحدد خلايا الشيت بالكامل و كلك يمين و تختار تبويب format cells

و تختار تبويب protection وتجعل المربع الذي امام Locked فارغا ثم OK

بعد ذلك و لمجرد ان يتم الكتابة في اي خلية سيبدأ عمل الكود

تحياتي

protectSheets1__________.rar

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

السلام عليكم

فكرة الأستاذ عادل اوحت لي بفكرة جديدة في المرفق

آمل تجربتها

مع الشكر للأستاذ aah-aah-2008

protectSheets1_________1__________.rar

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

اسف للازعاج

ولكن خطر لى سؤال لو ان الملف يوجد به كم من المعادلات هل يوثر

على سرعة تنفيذ الماكرو

ولك كل الشكر

طبعا اخي العزيز

لأن الكود في كل مرة سوف يقوم بالمرور على كل خلايالصفحة و يتأكد من الخلية

اذا كان بها صيغة يغلقها او غير ذلك يرفع الغلق عنها

آمل ان تكون وضحة الفكرة

وشكرا لك على المباركة

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

  • 2 years later...

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information