Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 高亮显示连接值的副本,而不在工作表中创建连接值_Excel_Vba_Duplicates_Highlight - Fatal编程技术网

Excel 高亮显示连接值的副本,而不在工作表中创建连接值

Excel 高亮显示连接值的副本,而不在工作表中创建连接值,excel,vba,duplicates,highlight,Excel,Vba,Duplicates,Highlight,目标: 我有一个名字和姓氏的列表,并希望在输入一个新人时突出显示重复项。或者单击该按钮以检查其是否重复 旧的解决方案: 我最初有一段代码,查看Firstname是否重复,Lastname是否重复,然后突出显示,但实际上没有显示真正的重复项,因为在本例中: 施敏夫 彼得·史密斯 蒂姆·诺史密斯 Tim Smith将突出显示,因为Tim是一个复制品,而Smith是一个复制品,但Tim Smith不是 当前代码: 现在,我正在查看Firstname和Lastname的串联列表,如果重复,则突出显示。这

目标: 我有一个名字和姓氏的列表,并希望在输入一个新人时突出显示重复项。或者单击该按钮以检查其是否重复

旧的解决方案: 我最初有一段代码,查看Firstname是否重复,Lastname是否重复,然后突出显示,但实际上没有显示真正的重复项,因为在本例中: 施敏夫 彼得·史密斯 蒂姆·诺史密斯 Tim Smith将突出显示,因为Tim是一个复制品,而Smith是一个复制品,但Tim Smith不是

当前代码: 现在,我正在查看Firstname和Lastname的串联列表,如果重复,则突出显示。这显然效果很好

Private Sub CommandButton1_Click()
lastrow = Worksheets("Sheet1").Cells(Rows.Count, 5).End(xlUp).Row

  For i = 3 To lastrow
  Set myrange = Range("G:G")

  Range("G3:G98") = "=CONCATENATE(RC[-2],RC[-1])"

      For j = 3 To lastrow

        If WorksheetFunction.CountIf(myrange, Worksheets("Sheet1").Cells(j, 7).Value) 
        <> 1 Then

            Worksheets("Sheet1").Cells(j, 5).Interior.ColorIndex = 8
            Worksheets("Sheet1").Cells(j, 6).Interior.ColorIndex = 8

        End If

      Next
  Next
End Sub
因此,与此相反,我不希望数据集中的连接列作为内存或类似的东西存在。也许在阵列中

我只是想检查是否有重复的,如果我有一个这样的列,但实际上不创建列。我需要保持工作表及其列的一致性。所以我不能再有像concat这样的专栏了

我对不同的策略持开放态度。给猫剥皮有很多种方法


主要目标是突出显示真实的副本。理想情况下,当输入一个新的人,或当点击一个按钮

为什么不使用以下公式的条件格式:

=COUNTIFS($E:$E,$E1,$F:$F,$F1)>1
将突出显示所有重复项

如果不想突出显示第一个实例,请使用:

=COUNTIFS($E$1:$E1,$E1,$F$1:$F1,$F1)>1

它起作用了:翻译我的代码:work.WorksheetFunction.CountIfsmyrange,worksheetsheets1.Cellsj,5.Value,myrange2,worksheetsheets1.Cellsj,6.Value>1