...列,如果A列和B列的信息都重复,那就删除A列和B列的重复数据所在行_百 ...
发布网友
发布时间:2024-10-22 05:53
我来回答
共5个回答
热心网友
时间:2024-10-23 17:32
插入一列,第二行输入=MATCH(A2&B2,$A$1:A2&$B$1:B2,)=ROW(),按CTRL+SHIFT+回车结束,自动筛选,筛选辅助列为FALSE的,删除全部筛选出的行。
热心网友
时间:2024-10-23 17:35
Sub delete_row()
Range("A:BZ").RemoveDuplicates Columns:=Array(1, 2), Header _
:=xlNo
End Sub
excel2007里的去除重复值功能的vba,你看看在2003里能运行吧 ,为啥还用2003啊,现在都出2010了,好多先进功能都用不上如果用2003的话,这个去除重复值功能很好使,即使录为VBA也这么简洁,不需要搞那么多循环去判断,避免循环判断几万行那样的数据,将会运行很慢甚至死机,这样可以提高效率,呵呵,你可以试用下,我看行
热心网友
时间:2024-10-23 17:34
还是您吗?已经给解决了吖?
http://zhidao.baidu.com/question/334557172.html
Sub 删除两列同内容的格()
With Selection: R1 = .Rows.Count
For i = 1 To R1: c1 = .Cells(i, 1) 'A列从上到下逐单元格
If Not IsNull(c1) Then 'A列当前单元格非空
For j = 1 To R1 'B列从上到下逐格与c1比较,
If .Cells(j, 2) = c1 Then '相等时两单元格同时置空
.Cells(i, 1).ClearContents: .Cells(j, 2).ClearContents: Exit For
End If: Next: End If
Next i
For i = 1 To R1: c1 = .Cells(i, 2) '同上,这次是由B列去比较A列
If Not IsNull(c1) Then
For j = 1 To R1
If .Cells(j, 1) = c1 Then .Cells(i, 2) = "": .Cells(j, 1) = "": Exit For
Next: End If
Next i
End With
End Sub
热心网友
时间:2024-10-23 17:35
可以使用辅助列标注需要删除的行
辅助列=IF(SUMPRODUCT(COUNTIF(A1,$A$1:A1),COUNTIF(B1,$B$1:B1))=1,"","删除")
然后筛选标记列删除即可
热心网友
时间:2024-10-23 17:33
这个没必要那么做吧?首先筛选出你要删除的那些行,如何标记好了之后,筛选出来,直接删除筛选项,剩下的不就是你要留下的了嘛?