1

我在(Sheet4)A 到 I 列中有数据:

我正在尝试比较所有行的数据(仅在 A 列和 B 列上)以查看是否有任何行重复,如果是:excel 应该突出显示两行。例子:

AB C......我

1 x

3 瓦

e 5 q

s 1 o

第 1 行和第 4 行应突出显示,因为 A 列和 B 列的值相同。

我不应该修改工作表(不应该对工作表进行列或行的修改),并且行数并不总是已知的(并非所有文件都相同)。

有没有简单的方法(使用宏)来做到这一点???

这是我尝试过的尝试,但它将我的文件增加到 7MB !!!!!!我确信应该有一种更简单的方法来比较未知行数的行,如果存在重复项,只需突出显示它们:

Public Sub duplicate()
    Dim errorsCount As Integer
    Dim lastrow As Integer
    Dim lastrow10 As Integer
    errorsCount = 0

    lastrow = Sheet4.Cells(Rows.Count, "A").End(xlUp).Row 'is the row number of the last non-blank cell in the specified column
    lastrow10 = lastrow
    Sheet10.Range("B1:B" & lastrow10).Value = Sheet4.Range("A1:A" & lastrow).Value
    Set compareRange = Sheet10.Range(column + "2:" & Sheet10.Range(column + "2").End(xlDown).Address)
    For Each a In Sheet10.Range(column + "2:" & Sheet10.Range(column + "2").End(xlDown).Address)
        c = a.Value
        If c <> Null Or c <> "" Then
            If name = "testing" Then
                       If WorksheetFunction.CountIf(compareRange, c) > 1 Then
                        a.Interior.ColorIndex = 3
                        errorsCount = errorsCount + 1
                       End If
            End If
        End If
    Next a

    If errorsCount > 0 Then
        MsgBox "Found " + CStr(errorsCount) + " errors"
    Else
        MsgBox " No errors found."
    End If
End Sub
4

1 回答 1

2

傻傻的回答你。

J1 或只是复制表。

J1 =CONCATENATE(A1,"#",B1) > 向下拖动 > J:J > 条件格式 > 突出显示单元格规则 > 重复值。

(* 将 # 替换为您认为在原始 A:A 和 B:B 中不可能的任何字符串。)

我一直这样做。

要收集所有重复项,只需按颜色排序。

于 2012-07-26T11:39:51.610 回答