我目前正在尝试制作一个进出仓库的驱动程序日志。这是我正在使用的代码
Private Sub Worksheet_Change(ByVal Target As Range)如果Target.Column = 2或Target.Column = 4或Target.Column = 6或Target.Column = 8或Target.Column = 10 Then Sheets(“POR DIA”)。Cells( Target.Row,12)=现在结束如果结束Sub
当我尝试阻止自动填充日期和时间的最后一个单元格时,宏停止并且不会输入信息,因为单元格被阻止。我该怎么做才能阻止当前用户不修改该单元格(日期和时间),但仍然自动完成该单元格?
您可以暂时取消保护工作表
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
可能更好 - userinterfaceonly允许VBA进行更改但不允许用户进行更改。此外,我认为如果代码因任何原因被中断,这种行为会更好