2012-11-26 168 views
0

兩個不相鄰的列,列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

...試試這個:

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 
+0

也就是說輝煌!謝謝!我會嘗試,並真正明白你做了什麼.. :-) –

+0

:) - 很高興幫助 –

+0

雖然我們在這裏(如果允許的話)另一個問題。我運行這個代碼的列A和C(給E),然後我運行它也爲A和B(給F)。是否有可能從列F中刪除重複的E? –