Jasmin قام بنشر سبتمبر 20, 2021 قام بنشر سبتمبر 20, 2021 سلام اخوتي كيف يمكن حماية cells من التعديل اليدوي مع امكانية التعديل الاوتوماتيكالي 1
أفضل إجابة أ / محمد صالح قام بنشر سبتمبر 20, 2021 أفضل إجابة قام بنشر سبتمبر 20, 2021 * يمكن بعمل حماية للخلايا بكلمة مرور هكذا لا يمكن التعديل اليدوي إلا بكتابة كلمة المرور * وبالنسبة لتعديل الخلايا المحمية بالكود فيجب وضع سطر فك الحماية في بداية الإجراء ActiveSheet.UnProtect password:="mas" ويجب وضع سطر الحماية قبل نهاية الإجراء ActiveSheet.Protect password:="mas" حيث mas هي كلمة المرور المطلوبة بالتوفيق 3
Jasmin قام بنشر سبتمبر 21, 2021 الكاتب قام بنشر سبتمبر 21, 2021 شكرا لكم أنا عندي الكود أعلاه على الورقة 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
أ / محمد صالح قام بنشر سبتمبر 21, 2021 قام بنشر سبتمبر 21, 2021 لتطبيق فكرة الحل على ملفك بعد هذا السطر If Range("B" & Target.Row) <> "" And Range("F" & Target.Row) <> "" Then نضع سطر فك الحماية fo.UnProtect password:="mas" وقبل سطر else نضع سطر الحماية fo.Protect password:="mas" حيث mas هي كلمة المرور بالتوفيق 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.