当我选择保护工作表时,默认情况下我的 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
Run Code Online (Sandbox Code Playgroud) 我有一个Excel工作表,就像一个应用程序,带有表单控制按钮,允许用户"浏览"记录.First,Previous,Next和Last循环通过其中一个工作表记录,在我的"表单"工作表中显示值.
当用户不处于编辑或添加模式时,我想锁定单元格以防止用户修改内容.
我尝试了Range("A1:O24").Locked = True,但我仍然可以在单元格中键入新值.
有谁知道怎么做到这一点?我需要我的vba代码才能在用户'导航'时为单元格分配新值,但是为了防止用户输入新值,除非在添加或编辑模式下.