我试图保持工作表的公式完整,确保它们不会因错误而被删除。为此使用数据验证。
这就是我正在尝试的:
有用,但按下后单元格内容就会被删除delete,这很糟糕。有什么解决办法吗?=False
也试过了,没有用。
附加信息:
A虚拟专用网络解决方案完全不好。众多原因之一如下 - 您手动解锁给定工作表的第 1 至 10 行,然后锁定整个工作表。然后在 VBA 中运行此代码:Worksheets("ThatWorksheet").Rows(2).Delete
。尽管您尝试删除未锁定的行,但您得到的是1004
。不过,该错误背后有一个很好的原因。这绝对不是一个错误。
答案1
如果您想保护工作表(整个工作簿)中写的所有公式,那么您需要一对 VBA 宏。
怎么运行的:
为了加快保护/取消保护的速度,最好创建两个命令按钮。
- 从德开发者 TAB 命中我插入。
- 形式AactiveX 控件,选择乙utton 图标并在 Sheet 上绘制。
- 现在打德设计。
- 选择按钮 &R右键单击并从菜单中选择磷屬業。
- 在弹出的对话框中找到Caption 并将其更改为
Protect Formula
(可编辑,您可以设置您选择的标题)。 - 现在德双击按钮进入 VB 编辑器窗口。
C奥皮&磷粘贴此代码,
Private Sub CommandButton1_Click() Copy Code here End Sub
Private Sub CommandButton1_Click()
For Each sh In ActiveWorkbook.Sheets
With sh
.Unprotect
.Cells.Locked = False
.Cells.SpecialCells(xlCellTypeFormulas).Locked = True
.Protect
End With
Next sh
End Sub
重复上述过程乙utton二、设置Caption
Un-Protect Formula
,并C奥皮&磷遵循此准则。Private Sub CommandButton2_Click() For Each sh In ActiveWorkbook.Sheets With sh .Unprotect .Cells.Locked = False .Cells.SpecialCells(xlCellTypeFormulas).Locked = False .Unprotect End With Next sh End Sub
注意:
- 按Alt+Q 返回工作表。
- 将工作簿另存为米acro 已启用。
您也可以使用非 VBA 方法,但是您需要逐张应用保护,这是一项耗时的工作,尤其是当 WB 中有许多工作表时。