参考函数如下:保护和取消保护的函数放在模块中 Sub xProtect() '假设设置的密码是321 ActiveSheet.Protect Password:="321", DrawingObjects:=True, Contents:=True, Scenarios:=True _ , AllowFormattingCells:=True, AllowFormattingColumns:=True, _ AllowFormattingRows:=True End Sub
Sub xUnProtect() ActiveSheet.Unprotect Password:="321" End Sub
Private Sub Worksheet_Change(ByVal Target As Range) xA1=cells(1,1) if xA1="AA" then call xUnProtect cells(1,2)=1 cells(1,2).lock=true call xProtect else if xA1="BB" then call xUnProtect cells(1,2)=2 cells(1,2).lock=true call xProtect else call xUnProtect cells(1,2).lock=false call xProtect end if end if End Sub