Пометить дубликаты в диапазоне, пропустить пустые ячейки - PullRequest
1 голос
/ 08 апреля 2020

Я работаю над VBA для маркировки дубликатов в столбце J. Я хотел бы отметить дубликаты другим цветом. Однако я хотел бы также пропустить пустые ячейки. Маркировка дубликатов работает, но она не пропускает пустые ячейки. Пустые ячейки также отмечены цветом.

Где может быть проблема с моим текущим кодом?

Sub MarkDuplicatesInKonserni()

    Dim cel As Variant
    Dim rng As Range
    Dim clr As Long
    Dim i
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual

    'Sample Array of Columns
    Dim Col(10 To 10) As String
    Col(10) = "J"


    Set rng = ThisWorkbook.Worksheets("Main").Range(ThisWorkbook.Worksheets("Main").Cells(2, 10), ThisWorkbook.Worksheets("Main").Cells(ThisWorkbook.Worksheets("Main").Rows.Count, "J").End(xlUp))


    'Iterate through Columns
    For i = 10 To 10

        rng.Interior.ColorIndex = xlNone
        clr = 3
        For Each cel In rng
                If Application.WorksheetFunction.CountIf(rng, cel) > 1 Then
                    If cel = Empty Then

                    Else

                        If Application.WorksheetFunction.CountIf(Range(Col(i) & "1:" & Col(i) & cel.Row), cel) = 1 Then
                            cel.Interior.ColorIndex = clr
                            clr = clr + 1
                        Else
                            cel.Interior.ColorIndex = rng.Cells(WorksheetFunction.Match(cel.Value, rng, False), 1).Interior.ColorIndex
                        End If
                    End If
                End If
        Next
    Next i
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...