选择列并在它们之间复制重复项

时间:2012-11-26 16:51:48

标签: excel vba excel-vba duplicates excel-vba-mac

两个不相邻的列,列A和C,包含字符串,列E(同样不相邻)应包含A列和C列之间的重复字符串。

现在我的主要问题是列A和C的长度不同,重复项本身不在同一行。

当不使用VBA时,以下输入列E给出除空白之外的解决方案。

=IF(ISERROR(MATCH(A1,$C:$C,0)),"",A1)  

例如:
A栏
土豆
番茄(Tomatoes)
西兰花
辣椒
蘑菇

C栏
蘑菇
黄瓜
西兰花

茴香

E栏应
蘑菇
西兰花

这是我迄今为止所能找到的,但这是非常错误的。我发现自己无法解决这个问题。

Sub Duplicates()
  Dim duplicates As Range
  Set duplicates = Columns("A", "C")
  activesheet.duplicates.Copy Destination:=activesheet.Range("E1")
End Sub

1 个答案:

答案 0 :(得分:1)

...试试这个:

  Sub PopulateColE()

     Dim cl As Range
     Dim CurrentRow As Integer: CurrentRow = 1

     On Error Resume Next

     For Each cl In Intersect(ActiveSheet.UsedRange, ActiveSheet.Range("C:C"))
        Application.WorksheetFunction.Match cl.Value, Range("A:A"), 0

        If Err.Number = 0 Then
           Range("E" & CurrentRow).Value = cl.Value
           CurrentRow = CurrentRow + 1
        End If

        Err.Clear
     Next cl
  End Sub