我已将此代码放入工作表中,该工作表应确保使用各自的密码保护各个工作表。它似乎工作正常,但我试图访问工作表,所有人都说不正确的密码?
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With ThisWorkbook
.Worksheets("2073 NSW").Protect Password = "2073"
.Worksheets("2091 NSW").Protect Password = "2091"
.Worksheets("3105 VIC").Protect Password = "3105"
.Worksheets("3091 VIC").Protect Password = "3091"
.Worksheets("4058 QLD").Protect Password = "4058"
.Worksheets("4091 QLD").Protect Password = "4091"
.Worksheets("6024 WA").Protect Password = "6024"
.Worksheets("6091 WA").Protect Password = "6091"
End With
Application.EnableAnimations = False
ThisWorkbook.Save
Application.EnableEvents = True
End Sub
答案 0 :(得分:1)
问题出在With ThisWorkbook
行内。它应该是Password:="2073"
而不是Password = "2073"
您忘记使用用于为某个命名参数赋值的:=
。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With ThisWorkbook
.Sheets("2073 NSW").Protect Password:="2073"
.Sheets("2091 NSW").Protect Password:="2091"
.Sheets("3105 VIC").Protect Password:="3105"
.Sheets("3091 VIC").Protect Password:="3091"
.Sheets("4058 QLD").Protect Password:="4058"
.Sheets("4091 QLD").Protect Password:="4091"
.Sheets("6024 WA").Protect Password:="6024"
.Sheets("6091 WA").Protect Password:="6091"
End With
Application.EnableAnimations = False
ThisWorkbook.Save
Application.EnableEvents = True
End Sub