اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

حماية cells مع التعديل اوتوماتيكالي


Jasmin
إذهب إلى أفضل إجابة Solved by أ / محمد صالح,

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

  • أفضل إجابة

* يمكن بعمل حماية للخلايا بكلمة مرور

هكذا لا يمكن التعديل اليدوي إلا بكتابة كلمة المرور

* وبالنسبة لتعديل الخلايا المحمية بالكود

فيجب وضع سطر فك الحماية في بداية الإجراء 

ActiveSheet.UnProtect password:="mas"

ويجب وضع سطر الحماية قبل نهاية الإجراء 

ActiveSheet.Protect password:="mas"

حيث mas هي كلمة المرور المطلوبة

بالتوفيق 

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

شكرا لكم 

أنا عندي الكود أعلاه على الورقة 2 -اسمها transaction - والورقة 1 Stock2021-2022 
أسندتها للمعرف fo وهي المحمية والتي أريد فتحها بالكود كما كتبتم فكيف أفعل؟

 

Option Explicit

Dim fo As Worksheet
Dim ln&, x!, s&

Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Target.Cells.CountLarge > 1 Then Exit Sub
    
    If Target.Row > 2 And Target.Column = 7 Then
        Application.EnableEvents = False
        Set fo = Sheets("Stock2021-2022")
        If Range("B" & Target.Row) <> "" And Range("F" & Target.Row) <> "" Then
            ln = WorksheetFunction.Match(Target.Offset(0, -5), fo.Range("C:C"), 0)
            x = fo.Cells(ln, 5) 'Stok initial sur la feuille OldStock2021-2022
            Cells(Target.Row, 3) = fo.Range("D" & ln)       'Description
            Cells(Target.Row, 4) = fo.Range("G" & ln)       'Prix
            Cells(Target.Row, 5) = x                        'Stock initial
            s = IIf(Target.Offset(0, -1) = "Sell", -1, 1)   'sens du mouvement = 1 pour retour,-1 pour vente
            Cells(Target.Row, 9) = Target.Value * s + x     'Stock final
            fo.Range("E" & ln) = Target.Value * s + x       'Nouveau stock mis à jour
            Range("A" & Target.Row) = Date                  'ou = Now si on veut l'horodate
        Else
            MsgBox "Saisies incomplètes.", 16
            Exit Sub
        End If
    End If
    Application.EnableEvents = True
End Sub


Sub Evenement()
        Application.EnableEvents = True
End Sub

 

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

لتطبيق فكرة الحل على ملفك

بعد هذا السطر

If Range("B" & Target.Row) <> "" And Range("F" & Target.Row) <> "" Then

نضع سطر فك الحماية 

fo.UnProtect password:="mas"

وقبل سطر else

نضع سطر الحماية 

fo.Protect password:="mas"

حيث mas هي كلمة المرور

بالتوفيق 

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

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.

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

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

Important Information