比较Excel中的两列(A& D)。如果匹配则删除一行,如果不匹配则使用蓝色匹配

时间:2012-09-10 12:36:19

标签: excel

我有四列数据(A,B,C和D)。 D列中的大多数单元格都是空的,但有些单元格中有数据。

首先,我想比较D列的数据和A列。如果数据匹配,则删除与数据对应的A列的整行...如果不匹配,则应突出显示D列的数据蓝色。

1 个答案:

答案 0 :(得分:1)

创建新工作表
复制所有必需的数据,作为备份以防出现问题。
Alt + F11 进入Visual Basic编辑器。
右键单击左手窗格。
插入模块。
双击新模块(通常称为“Module1”)
复制并添加以下代码;


Function DeleteDuplicates()

Dim wsSheet As Worksheet

Set wsSheet = ThisWorkbook.Worksheets(1) 'Change this to reflect the correct sheet number

wsSheet.Select

Dim i As Integer

i = 1 'Iterator
Dim Str As String

While (Not wsSheet.Cells(i, 1).Value = "") 'Stop when you run out of column A

    If (wsSheet.Cells(i, 1).Value = wsSheet.Cells(i, 4).Value) Then ' Col A = Col B
        Str = CStr(i) & ":" & CStr(i)
        wsSheet.Range(Str).Delete Shift:=xlUp 'Delete Row:Row
        i = i - 1
    Else 'Blank or Different
        Str = CStr(i) & ":" & CStr(i)
        wsSheet.Cells(i, 4).Interior.ColorIndex = 41 '41 = Mid Blue
        wsSheet.Cells(i, 4).Interior.Pattern = xlSolid
    End If

    i = i + 1 'Increment

Wend


End Function

设置Spreadsheets Index编号,你会很好,所以按 F5