Mình tạo bảng tính thẩm định dự án có nhiều Sheet
Mình viết đoạn VB để khóa và không cho hiện công thức tại các ô chứa công thức như sau :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim rng As Range
For Each rng In Target.Cells
ActiveSheet.Unprotect ("1968")
If rng.HasFormula Then
rng.FormulaHidden = True
ActiveSheet.Protect ("1968")
Exit Sub
Else
ActiveSheet.Unprotect ("1968")
End If
Next rng
End Sub
Nhưng cách này chỉ có tác dụng khi mình vào Tools\Macro\Securty tiếp chọn mục Low(Not recomended).... thì mới có tác dụng. Nếu người sử dụng chọn mục High.Only ..... thì đoạn code trên không còn tác dụng nữa
Các bạn có cách nào để người sử dụng không chọn được mục High.Only ...., hoặc cách khác để khóa và không cho hiện công thức chỉ mình với
Mình viết đoạn VB để khóa và không cho hiện công thức tại các ô chứa công thức như sau :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim rng As Range
For Each rng In Target.Cells
ActiveSheet.Unprotect ("1968")
If rng.HasFormula Then
rng.FormulaHidden = True
ActiveSheet.Protect ("1968")
Exit Sub
Else
ActiveSheet.Unprotect ("1968")
End If
Next rng
End Sub
Nhưng cách này chỉ có tác dụng khi mình vào Tools\Macro\Securty tiếp chọn mục Low(Not recomended).... thì mới có tác dụng. Nếu người sử dụng chọn mục High.Only ..... thì đoạn code trên không còn tác dụng nữa
Các bạn có cách nào để người sử dụng không chọn được mục High.Only ...., hoặc cách khác để khóa và không cho hiện công thức chỉ mình với