【发布时间】:2021-01-07 06:04:45
【问题描述】:
当我选择保护工作表时,默认情况下,我的 Excel 会锁定所有列。
我想使用 VBA 代码,我只用公式锁定单元格(并且只允许用户选择未锁定的单元格),同时循环浏览工作簿中的每个工作表。这是我目前拥有的代码。
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
【问题讨论】:
-
阅读SpecialCells 和
XlCellType为xlCellTypeFormulas,然后只锁定那些单元格。 -
我试过 .Cells.SpecialCells(xlCellTypeFormulas).Locked = True 但它说没有找到单元格。知道如何解决这个问题吗?
-
那是因为该特定工作表没有包含公式的单元格? Aso 使用
SpecialCells时,您必须进行适当的处理。发布您尝试过的内容,我们可以从那里获取它 -
更新了我的代码。我有一些根本没有公式的工作表。我只想保护有公式的工作表。