根据用户首先在哪个单元格中输入值来启用/禁用 Excel 中的单元格

根据用户首先在哪个单元格中输入值来启用/禁用 Excel 中的单元格

我在 Excel 中的 A1、A2 和 A3 单元格中有三个字段。所有这三个字段在第一次尝试时均已解锁。

  • 如果用户首先在 A3 中输入值,则 A1 和 A2 应该被禁用或锁定。

  • 如果用户在 A1 中输入一个值,那么 A2 应该是必填的,但 A3 将被锁定或禁用。

换句话说,用户必须填写 A1 和 A2,但不必填写 A3,或者用户应该填写 A3,但不必填写 A1 和 A2。这可以在 Excel 中使用 IF 和其他方法实现吗?

答案1

按着这些次序:

方法 1:

  • 选择单元格A1:A2,或仅允许编辑的单元格。
  • 右键点击然后从弹出菜单中单击格式化单元格
  • 单元格格式对话框, 打保护选项卡

在此处输入图片描述

  • 取消选中“锁定”框,并结束好的
  • 点击审阅选项卡然后保护工作表。
  • 保护工作表对话框并击中好的

在此处输入图片描述

注意:首先A3取消保护表格并重复上述步骤。


方法 2:

Sub LockCells()

Dim mainworkBook As Workbook

Set mainworkBook = ActiveWorkbook

mainworkBook.Sheets("Sheet1").Range("A1:A2").Value = "Lock"
   mainworkBook.Sheets("Sheet1").Range("A1:A2").Locked = True
   mainworkBook.Sheets("Sheet1").Range("A3").Locked = False
   ActiveSheet.Protect

End Sub

Sub Unlockcells()

  Dim mainworkBook As Workbook

  Set mainworkBook = ActiveWorkbook

  mainworkBook.Sheets("Sheet11").Range("A3").Value = "Free"
    mainworkBook.Sheets("Sheet11").Range("A1:A2").Locked = False
    mainworkBook.Sheets("Sheet11").Range("A3").Locked = True
    ActiveSheet.Protect

End Sub

注意:

  • Alt+F11然后打开 VB 编辑器复制粘贴这些代码作为标准模块。
  • 取消保护运行任何宏之前,请检查工作表。

现在只允许对未锁定的单元格进行更改。

相关内容