我有一個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?
我知道這不是最安全的保護形式,但它只是防止人們意外修改細胞。