添加值时清除剩余的单元格

在Excel中,我有一个约8个产品(8行)的表。 (该表是一个下拉列表,可以按字母sorting)在列表底部添加新产品时,表格会自动展开。

表格的设置如下所示:

B栏=产品编号

C列=产品名称

列D =某个值

E栏=某个值

D列和E列通常是空的,我想在整个范围(D1:E8)中只有一个单元格包含任何值。 如果添加新值,则需要清除该范围内的所有其他单元。

这可能通过使用VBAmacros? (如果是的话,那么怎么样?)

例如,

D3 =“x”。 在单元格E6中inputstring“x”时,所有其他单元格(包括D3都需要变空)。 我想通过启动一个VBAmacros来做到这一点,所以我可以添加一些额外的行动,需要发生在其中一个产品select与列“D”或E中的“X”。我知道这可以通过一个用户表单也是如此,但宁愿这样做。

在工作表模块的工作表,你想这影响使用:

Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("D1:E8")) Is Nothing Then If Target.Cells.Count > 1 Then MsgBox "Please edit one cell at a time!" Else Application.EnableEvents = False newVal = Target.Value Range("D1:E8").ClearContents Target.Value = newVal Application.EnableEvents = True End If End If End Sub