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

问题描述 投票:0回答:1

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.