是否可以编写VBA代码,仅从突出显示的单元格中删除重复项?

时间:2014-07-18 19:34:58

标签: vba excel-vba excel

我想只删除突出显示的细胞重复(黄色)。我想知道是否有可能这样做。

2 个答案:

答案 0 :(得分:0)

因为你没有指定想要影响的范围,所以我写了这个,所以你必须先选择数据,然后运行代码。

循环选择中的每个单元格并检查背景颜色。虽然有许多黄色阴影,但Interior.ColorIndex = 6是大多数人常用的预设。任何具有光彩夺目的“荧光笔”黄色的行都会被删除:)

Sub NoYellow()
    Dim r As Range

For Each r In Selection
    If r.Interior.ColorIndex = 6 Then r.EntireRow.Delete
Next

End Sub

答案 1 :(得分:0)

假设我们有一列值,其中一些是黄色的亮点。假设该列包含重复项。例如:

enter image description here

此宏将检查黄色单元格并删除重复项:

Sub TheKingInYellow()
    Dim N As Long, i As Long, wf As WorksheetFunction
    N = Cells(Rows.Count, 1).End(xlUp).Row
    Set wf = Application.WorksheetFunction
    For i = N To 2 Step -1
        With Cells(i, 1)
            v = .Value
            c = .Interior.ColorIndex
            If wf.CountIf(Range(Cells(i - 1, 1), Cells(1, 1)), v) > 0 And c = 6 Then
                .Delete
            End If
        End With
    Next i
End Sub

结果如下:

xx