Excel - 如何确保在单元格中输入值时,另一个值被清空(反之亦然)?

时间:2013-07-04 03:32:39

标签: excel excel-vba vba

所以我在excel电子表格中有两列 - 只允许其中一列有一个值。让我们称它们为单元格A1B1

我认为我可以通过以下两种方式之一来促进这一点:

  1. 更改单元格A1后,它会消隐B1

    我可以这样做但是当它消隐B1时,它会触发相同的事件并且两个单元格都被清除。

  2. 如果其中一个单元格中有一个值,则另一个单元格会被锁定以进行编辑,直到您清除第一个单元格为止。

  3. 任何提示都将不胜感激。

    谢谢团队!

1 个答案:

答案 0 :(得分:2)

您可以禁用事件以避免清除两个单元格;即

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng1 As Range
Set rng1 = Intersect(Target, Range("A1,C1"))
If rng1 Is Nothing Then Exit Sub
Application.EnableEvents = False
If rng1.Address(0, 0) = "A1" Then
[c1].ClearContents
Else
[a1].ClearContents
End If
Application.EnableEvents = True
End Sub