2017-06-06 1 views
-2

私は800のアドレスの電子メールのような1つの文字列を持っています。それらはセミコロンで区切られています。その文字列の重複を削除するにはどうすればよいですか?VBA - セミコロンで区切られた1つの文字列内で重複して削除される

+1

は、[Split関数]に見て(https://msdn.microsoft.com/en-us/library/6x627e5f(V = VS.90).aspxの)と[コレクション](HTTPSを開始するには://msdn.microsoft.com/en-us/library/yb7y698k(v = 90).aspx)または[Dictonaries](https://msdn.microsoft.com/en-us/library/office/gg251825) .aspx)。 Splitメソッドを使用すると、文字列内の各電子メールアドレスを繰り返し処理でき、コレクションと辞書を使用して一意の値のみを受け入れることができます。 – tigeravatar

+0

';'に基づいてtext to colsを実行し、重複削除機能をアンピボットします。これらの機能はすべて簡単に検索できます。 – 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 
関連する問題