1

(Sheet4)列AからIにデータがあります:

すべての行(列AとBのみ)のデータを比較して、重複している行があるかどうかを確認しようとしています。重複している場合は、Excelで両方の行を強調表示する必要があります。例:

AB C ...... I

s 1 x

s 3 w

e 5 q

s 1 o

列Aと列Bの値は同じであるため、行1と4を強調表示する必要があります。

シートを変更するべきではありません(列または行をシートに変更する必要はありません)。また、行数が常にわかっているわけではありません(すべてのファイルで同じではありません)。

これを行う簡単な方法(マクロを使用)はありますか?

これは私が試した試みですが、ファイルが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 に答える