محافظت ديناميكي سلولها از تغيير - توسط ويژوال بيسيك
مزاحم نمي شوم در پايان چند سوال اكسل دارم كه خدمتتان مي فرستم :
چطور ميشود ليست هاي بر پا كرد كه بمحض ورود اطلاعات جديد در آن و افزايش ركورد ها دامنه protection نيز بطور اتوماتيك گسترده شود و تا آخرين رديف پيش رود ؟
هدف از اين كار اينست كه اطلاعات ورودي دستخوش تغييرات خواسته يا ناخواسته نشود .
سلولهاي اين sheet در صورتيكه پر شده باشند در مقابل تغييرات حفاظت مي شوند .
بدين ترتيب كه اگر checkbox بالا را در حالت انتخاب قرار دهيم در صورتيكه بخواهيم در خانه اي كه پر است مقداري را وارد كنيم، از اينكار جلوگيري بعمل خواهد آمد.
(آموزش اكسل توسط جعبه ابزار فرم يك CheckBox به sheet اضافه كنيد)
كد برنامه ويژوال بيسيك :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
cellval = ActiveCell.Value
sheetprotect = Range("a1").Value
If cellval <> "" And sheetprotect Then
ActiveSheet.Protect
Else
ActiveSheet.Unprotect
End If
End