锁定公式代码影响其他vba代码无法正常运行

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

我有一本包含 5 张纸的工作簿,其中充满了公式,我需要使它们安全且不可编辑。我通过 Stackoverflow 发现了一个保护公式的简单代码,它运行良好,但有两个问题..首先,它会影响我的工作簿中的其他代码无法正常运行,例如根据单元格值插入图像 - 我的图像不再是当我更改单元格值时更新。当我编辑一些未锁定的单元格但包含在其他代码范围中时,还会出现错误(1004)。我不知道如何解决这个问题。有什么建议吗?...在我的代码下面

Sub LockSheets()
    Dim ws As Worksheet
    For Each ws In Worksheets
        With ws
            .Unprotect
            .Cells.Locked = False
            .Cells.SpecialCells(xlCellTypeFormulas).Locked = True
            .Protect
        End With
    Next ws
End Sub
excel vba image insert
1个回答
0
投票
  • UserInterfaceOnly
    设置为
    True
    以保护用户界面,但不保护宏(VBA 代码)。

微软文档:

工作表.保护方法(Excel)

Sub LockSheets()
    Dim ws As Worksheet
    For Each ws In Worksheets
        With ws
            .Unprotect
            .Cells.Locked = False
            .Cells.SpecialCells(xlCellTypeFormulas).Locked = True
            .Protect UserInterfaceOnly:=True
        End With
    Next ws
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.