Excel 2007 – 防止在单元格中input相同的数据,如上所述

我有一个Excel表格,允许用户input一个设置的格式,即C列为产品编号,H列为故障类别。

我想知道是否有可能阻止用户在C2和H2中input相同的值,如果它们已经存在于C1和H1中。

请注意,这是不可能的数据validation,因为这在列中查找唯一值 – 我没有任何问题,重复值两行,只要重复项不存在两列C&H ,在下一行。

我想要确保用户使用一行,如果产品有多个问题,但他们都涉及到相同的故障类别。

我不太了解VBA,所以你的帮助将不胜感激。

如果您将此VB添加到工作表模块它应该工作…

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row > 1 And Target.Column = 8 And Target.Rows.Count = 1 And Target.Columns.Count = 1 Then 'Search Down If Target.Offset(1, -5).Value <> "" Then r = Target.Offset(0, -5).End(xlDown).Row Do If Cells(r, 3).Value & Cells(r, 8).Value = Target.Offset(0, -5).Value & Target.Value Then MsgBox ("Duplicate Data detected below") Application.EnableEvents = False Target.Value = "" Application.EnableEvents = True Exit Do End If r = r - 1 Loop Until Target.Row = r End If 'Search Up r = 1 Do If Target.Offset(-r, -5).Value & Target.Offset(-r, 0).Value = Target.Offset(0, -5).Value & Target.Value Then MsgBox ("Duplicate Data detected above") Application.EnableEvents = False Target.Value = "" Application.EnableEvents = True Exit Do End If r = r + 1 Loop Until Target.Row = r End If End Sub 

在这里输入图像说明

如果我正确读取您的请求, 可以使用单元validation完成:

将以下数据validation自定义公式应用于列C和H中的范围:

=COUNTIFS($H1:$H2,H1,$C1:$C2,C1)=1

显然,它不能在以前版本的Excel中没有SUMIFSfunction。