这是一个我无法回答的简单问题。
我在Excel中有两列这样的列:
Col1 Col2
A C
B I
C E
D D
E A
F F
G B
H
I
我想对两列进行排序,以便在两列中的相同行上对齐相同的值,例如:
Col1 Col2
A A
B B
C C
D D
E E
F F
G
H
I I
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
但是这段代码只是帮助找到重复项,并且无法将重复项放在两列中的相同行上。
我想知道你们能不能提供一点帮助?
非常感谢。
答案 0 :(得分:30)
没有VBA
=IF(ISNA(MATCH(A1,C:C,0)),"",INDEX(C:C,MATCH(A1,C:C,0)))
并复制在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
答案 1 :(得分:-1)
没有VBA
您必须相应地在单独的列中复制并粘贴您要查找的每个阵列,但您应该能够轻松地复制和粘贴列
希望这会有所帮助。如果您有任何问题,请告诉我