2017-06-06 33 views
-2

我收到了800個地址電子郵件中的一個字符串。它們用分號隔開。我應該如何刪除該字符串中的重複項?VBA - 刪除用分號分隔的一個字符串中的重複

+1

要開始看進[分割功能(https://msdn.microsoft.com/en-us/library/6x627e5f(V = VS.90)的.aspx)和[收藏](HTTPS ://msdn.microsoft.com/en-us/library/yb7y698k(v = vs.90).aspx)或[Dictonaries](https://msdn.microsoft.com/en-us/library/office/gg251825的.aspx)。 Split方法可讓您循環訪問字符串中的每個電子郵件地址,並且集合和字典都可用於僅接受唯一值。 – tigeravatar

+0

基於';'的文本到cols然後unpivot刪除重複函數。所有這些功能都很容易搜索到。 – xQbert

+0

對某些代碼的嘗試會很有幫助。 –

回答

0

請更新您的問題以顯示您已經嘗試過的內容。您目前的代碼很可能只需要稍微調整一下。

下面是一個更通用的方式來完成你的事情,但就像我說的,可能有一個更簡單的方法來修復你當前的代碼,你不會真正通過複製和粘貼代碼來學習。

Function RemoveDuplicates(rng as Range) As String 
    Dim dict As Object 
    Dim var As Variant, v As Variant 

    Set dict = CreateObject("Scripting.Dictionary") 

    var = Split(rng.Value,";") 

    For each v in var 
     If Not dict.Exists(v) Then 
      dict.Add v, v 
     End If 
    Next v 

    RemoveDuplicates = Join(dict.Keys, ";") 
End Function 
相關問題