比较Excel中的两列(A和D)。如果匹配,则删除一行,如果不匹配,则用蓝色突出显示
我有四列数据(A、B、C和D)。D列中的大多数单元格为空,但有些单元格包含数据 首先,我想比较D列和A列的数据。如果数据匹配,则删除A列中与数据相对应的整行……如果不匹配,则D列的数据应以蓝色突出显示。创建新的工作表比较Excel中的两列(A和D)。如果匹配,则删除一行,如果不匹配,则用蓝色突出显示,excel,Excel,我有四列数据(A、B、C和D)。D列中的大多数单元格为空,但有些单元格包含数据 首先,我想比较D列和A列的数据。如果数据匹配,则删除A列中与数据相对应的整行……如果不匹配,则D列的数据应以蓝色突出显示。创建新的工作表 将所有必需的数据复制到中,作为备份,以防出错。 按Alt+F11进入Visual Basic编辑器。 在左侧窗格中单击鼠标右键。 插入一个模块。 双击新模块(通常称为“模块1”) 复制并添加以下代码 设置电子表格索引编号,您就会很好,所以请按F5。我们可以看看您的代码吗?哪里失
将所有必需的数据复制到中,作为备份,以防出错。
按Alt+F11进入Visual Basic编辑器。
在左侧窗格中单击鼠标右键。
插入一个模块。
双击新模块(通常称为“模块1”)
复制并添加以下代码
设置电子表格索引编号,您就会很好,所以请按F5。我们可以看看您的代码吗?哪里失败了?你对ChallengeAccepted答案的编辑应该是对它的评论。
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