我有一个 Excel 电子表格,它需要保护大部分单元格不被编辑。我无法以通常的方式保护工作表,因为我与组一起工作(顶部的小 + 以展开某些列)。
我找到了一个 VBA 宏来保护我的工作表,但在 Excel 2010 中注意到我可以简单地“取消保护工作表”并修改所有内容,即使整个工作簿仍然受到保护。
这是我在“ThisWorkbook”中使用的宏:
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect Password:="nopassword"
If Range("C3").Value = "protect" Then
Range("C4:C65536").Locked = True
Else
Range("C4:C65536").Locked = False
End If
ActiveSheet.Protect Password:="fakepass"
End Sub
Private Sub Workbook_Open()
Dim x As Long
For x = 1 To ActiveWorkbook.Sheets.Count
With ActiveWorkbook.Sheets(x)
.Protect UserInterfaceOnly:=True
.EnableOutlining = True
End With
Next
End Sub
如何修改此代码以使用工作表 1?
我知道这不是最安全的保护形式,但它只是为了防止人们意外修改细胞。