2017-06-06 35 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 
相关问题