如何在VBA-Excel中删除重复行和逆序重复行

利萨尔夫

-更新 -

我想知道如何根据两列中的值删除重复的行,其中重复也可能以相反的顺序发生。我想删除整个行,而不仅仅是删除列中的重复单元格。我已经搜索了论坛,但是找不到确切的答案。

如果数据如下所示:

AA
AB
BA
CA
AC

我要保留:

AA
AB
CA

到目前为止,我仅看到删除单向重复项的代码(例如,删除所有重复的行Excel vba),而该代码不会从上面的示例中删除任何行。

我将需要计算两个命名点之间的距离,因此我保留的行无关紧要。也许我还应该指定格式,例如每个单元格中的A1和A2(字母+数字),因此A1 + A2和A2 + A1将是重复的。不知道这是否重要。

有谁知道或可以向我暗示正确的方向?

感谢Lisarv

加里的学生

由于您已经有一个基于单个的解决方案,因此我们将找到一种应用该解决方案的方法。对于AB列中数据,在C1中输入:

=IF(A1<B1,A1 & CHAR(1) & B1,B1 & CHAR(1) & A1)

然后抄下来 然后将您的解决方案应用于C

在此处输入图片说明

笔记:

我们使用CHAR(1)来防止意外匹配。

编辑#1

这是不使用C列的纯VBA解决方案

Sub RowKiller()
   Dim N As Long, C() As String, i As Long
   Dim aa As String, bb As String, cc As String
   Dim s As String
   s = Chr(1)
   N = Cells(Rows.Count, "A").End(xlUp).Row
   ReDim C(1 To N)

   For i = 1 To N
      aa = Cells(i, 1).Value
      bb = Cells(i, 2).Value
      If aa < bb Then
         C(i) = aa & s & bb
      Else
         C(i) = bb & s & aa
      End If
   Next i

   For i = N To 2 Step -1
      cc = C(i)
      For j = i - 1 To 1 Step -1
         If cc = C(j) Then Rows(i).Delete
      Next j
   Next i
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Python中删除文件中的重复行

来自分类Dev

使用JOIN时如何在MySQL中删除重复行

来自分类Dev

如何在vim中删除紧密重复的行

来自分类Dev

如何从联接中删除重复的行(SQL)

来自分类Dev

如何在Vim中删除非重复行?

来自分类Dev

如何在VBA-Excel中删除重复行和逆序重复行

来自分类Dev

如何在Oracle中删除重复的行

来自分类Dev

如何从dolphindb表中删除重复行?

来自分类Dev

如何删除列行中的重复条目?

来自分类Dev

Ruby:如何从数组中删除重复的行?

来自分类Dev

如何在SQL中删除重复行?

来自分类Dev

如何从文件中删除重复的行?

来自分类Dev

列多时如何在Excel 2013中删除重复的行?

来自分类Dev

如何删除重复的行

来自分类Dev

如何删除SQL中的重复行?

来自分类Dev

如何删除文件中特定的重复行?

来自分类Dev

如何删除在Mysql中重复的行

来自分类Dev

如何从行中删除重复的号码?

来自分类Dev

如何在1行中查找和删除重复的单元格?

来自分类Dev

Excel 2016:如何删除列中没有重复的行?

来自分类Dev

如何删除输出中的重复行?

来自分类Dev

单列中存在重复条目时如何删除重复行

来自分类Dev

如何在excel中删除重复项和原件

来自分类Dev

如何删除 SQL Server 中的重复行

来自分类Dev

如何使用宏 vba 从特定列中删除重复的行

来自分类Dev

如何从嵌套列表中删除重复的行?

来自分类Dev

如何在VBA中删除带有条件的重复行

来自分类Dev

如何从kartik GridView中删除重复行?

来自分类Dev

如何删除MySQL表中的重复行?