0

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

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

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

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

例如:
A 列
土豆西红柿
西兰

辣椒
蘑菇

C列
蘑菇
黄瓜
西兰花

茴香

E列应该是
蘑菇
西兰花

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

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

1 回答 1

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
于 2012-11-26T17:11:42.160 回答