我目前正在尝试制作进出仓库的驱动程序日志。这是我正在使用的代码
Private Sub Worksheet_Change(ByVal Target As Range) 如果Target.Column = 2或Target.Column = 4或Target.Column = 6或Target.Column = 8或Target.Column = 10 Then 表格(“POR DIA”)。细胞(Target.Row,12)=现在 万一 结束子
当我尝试阻止自动填充日期和时间的最后一个单元格时,宏停止并且不会输入信息,因为单元格被阻止。 我该怎么做才能阻止当前用户不修改该单元格(日期和时间),但仍然自动完成该单元格?
答案 0 :(得分:0)
您可以暂时取消保护工作表
Sub Unprotect()
ActiveSheet.Unprotect
' Do your stuff here
ActiveSheet.Protect
End Sub
如果有密码,请使用ActiveSheet.Unprotect Password:="Password"
要取消保护/保护特定工作表,请使用以下语法ThisWorkbook.Worksheets("Sheet1").Unprotect
使用ThisWorkbook.Worksheets("Sheet1").Protect Password:="Password", _
UserInterfaceOnly:=True
可能更好 - userinterface允许VBA进行更改但不允许用户进行更改。此外,我认为如果代码因任何原因被中断,这种行为会更好