如何在 Excel 中使用独特公式进行数据验证?

如何在 Excel 中使用独特公式进行数据验证?

我试图保持工作表的公式完整,确保它们不会因错误而被删除。为此使用数据验证。

这就是我正在尝试的:

在此处输入图片描述

有用,按下后单元格内容就会被删除delete,这很糟糕。有什么解决办法吗?=False也试过了,没有用。

附加信息:

A解决方案完全不好。众多原因之一如下 - 您手动解锁给定工作表的第 1 至 10 行,然后锁定整个工作表。然后在 VBA 中运行此代码:Worksheets("ThatWorksheet").Rows(2).Delete。尽管您尝试删除未锁定的行,但您得到的是1004。不过,该错误背后有一个很好的原因。这绝对不是一个错误。

答案1

如果您想保护工作表(整个工作簿)中写的所有公式,那么您需要一对 VBA 宏。

怎么运行的:

为了加快保护/取消保护的速度,最好创建两个命令按钮。

  1. 开发者 TAB 命中插入。
  2. 形式AactiveX 控件,选择utton 图标并在 Sheet 上绘制。
  3. 现在打设计。
  4. 选择按钮 &R右键单击并从菜单中选择屬業。
  5. 在弹出的对话框中找到Caption 并将其更改为Protect Formula(可编辑,您可以设置您选择的标题)。
  6. 现在双击按钮进入 VB 编辑器窗口。
  7. 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

  1. 重复上述过程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
    

注意:

  1. Alt+Q 返回工作表。
  2. 将工作簿另存为acro 已启用。

您也可以使用非 VBA 方法,但是您需要逐张应用保护,这是一项耗时的工作,尤其是当 WB 中有许多工作表时。

相关内容