在Excel中使用受保护的单元格自动填充

时间:2018-03-05 22:27:13

标签: excel-vba vba excel

我目前正在尝试制作进出仓库的驱动程序日志。这是我正在使用的代码

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)=现在     万一 结束子

当我尝试阻止自动填充日期和时间的最后一个单元格时,宏停止并且不会输入信息,因为单元格被阻止。 我该怎么做才能阻止当前用户不修改该单元格(日期和时间),但仍然自动完成该单元格?

1 个答案:

答案 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进行更改但不允许用户进行更改。此外,我认为如果代码因任何原因被中断,这种行为会更好