如何在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)。
您将不得不相应地复制并粘贴每个要查找的数组中的数据,但是您应该能够轻松地复制并粘贴列
希望这可以帮助。 请让我知道,如果你有任何问题