如何在Excel中alignment相同的行上的重复项

这是一个简单的问题,我无法回答。

在Excel中我有两个这样的列:

Col1 Col2 AC BI CE DD EA FF GB HI 

我想对两列进行sorting,以便在两列中的相同行上alignment相同的值,例如:

 Col1 Col2 AA BB CC DD EE FF GHII K 

到目前为止,我已经尝试了下面的VBA代码:

  Sub HighlightDups() Dim i, LastRowA, LastRowB LastRowA = Range("A" & Rows.Count).End(xlUp).Row LastRowB = Range("B" & Rows.Count).End(xlUp).Row Columns("A:A").Interior.ColorIndex = xlNone Columns("B:B").Interior.ColorIndex = xlNone For i = 1 To LastRowA If Application.CountIf(Range("B:B"), Cells(i, "A")) > 0 Then Cells(i, "A").Interior.ColorIndex = 36 End If Next For i = 1 To LastRowB If Application.CountIf(Range("A:A"), Cells(i, "B")) > 0 Then Cells(i, "B").Interior.ColorIndex = 36 End If Next End Sub 

但是这个代码只是帮助find重复项,而不能将重复项放在两列中的同一行上。

我想知道你们能否帮忙?

非常感谢。

没有VBA

  • 在列B中插入一个空白列
  • 在B1中put =IF(ISNA(MATCH(A1,C:C,0)),"",INDEX(C:C,MATCH(A1,C:C,0)))
  • 将列B复制并粘贴回其自身作为删除公式的值

在VBA中

 Sub Macro1() Dim rng1 As Range Set rng1 = Range([a1], Cells(Rows.Count, "A").End(xlUp)) rng1.Offset(0, 1).Columns.Insert With rng1.Offset(0, 1) .FormulaR1C1 = _ "=IF(ISNA(MATCH(RC[-1],C[1],0)),"""",INDEX(C[1],MATCH(RC[-1],C[1],0)))" .Value = .Value End With End Sub 

没有VBA

  • 在C1 put = VLOOKUP(A:A,B:B,1)
  • 如果您有多列,在E1 put = VLOOKUP(A:A,B:D,2)….最后一位数字应相应地变为1(col B),2(col C)3(Col D)。

您将不得不相应地复制并粘贴每个要查找的数组中的数据,但是您应该能够轻松地复制并粘贴列

希望这可以帮助。 请让我知道,如果你有任何问题