【问题标题】:VBA - Deleting duplicated in one string which are separated by semicolonVBA - 删除一个字符串中的重复项,用分号分隔
【发布时间】:2017-11-07 11:27:00
【问题描述】:

我有一个字符串,比如 800 个地址电子邮件。它们用分号隔开。我应该如何删除该字符串中的重复项?

【问题讨论】:

  • 要开始查看Split functionCollectionsDictonaries。 Split 方法将允许您遍历字符串中的每个电子邮件地址,并且 Collections 和 Dictionaries 都可用于仅接受唯一值。
  • 文本到基于; 的列,然后取消旋转删除重复项功能。所有这些功能都易于搜索。
  • 尝试一些代码会有所帮助。

标签: vba excel duplicates


【解决方案1】:

请更新您的问题以显示您已经尝试过的内容。您当前的代码很可能只需要稍作调整。

下面是一种更通用的方法来完成你所追求的,但就像我说的那样,可能有一种更简单的方法来修复你当前的代码,而且你不会通过复制和粘贴代码来真正学习。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-27
    • 2012-01-30
    • 1970-01-01
    • 2023-03-10
    • 2016-12-23
    • 1970-01-01
    • 2016-04-19
    相关资源
    最近更新 更多