Microsoft VBA Excel 单元格 重复元素 去重

问题场景

简述:

单元格显示:N/A,A54,N/A,B12,R6,A55,去掉重复的元素。

参考:excel表格同一单元格里剔除重复词怎么做?


代码描述

第一步:

第二步:

在较旧的 Excel 版本中,没有直接的函数可以用来去除字符串中的重复元素。一种解决办法是使用 VBA 来创建一个自定义函数,该函数可以接受一个字符串并返回一个去除了重复项的字符串。

vb 复制代码
Function UniqueList(inputStr As String, delimiter As String) As String
    Dim dictionary As Object
    Set dictionary = CreateObject("Scripting.Dictionary")
    Dim part As Variant
    Dim parts() As String
    
    parts = Split(inputStr, delimiter)
    
    For Each part In parts
        If Trim(part) <> "" And Not dictionary.Exists(Trim(part)) Then
            dictionary.Add Trim(part), Trim(part)
        End If
    Next part
    
    UniqueList = Join(dictionary.Items, delimiter)
End Function

例如,如果想要处理单元格 A1 中的字符串 N/A,A54,N/A,B12,R6,A55,可以在另一个单元格中使用以下公式:

excel 复制代码
=UniqueList(A1, ",")

这将返回 N/A,A54,B12,R6,A55

相关推荐
周杰伦fans4 小时前
MahApps.Metro WPF 开发使用过程中遇到的问题 - 未能加载文件或程序集“Microsoft.Xaml.Behaviors,
microsoft·wpf
FreeBuf_5 小时前
安全补丁还是自造DDoS?微软更新导致关键企业功能瘫痪
microsoft·ddos
缺点内向12 小时前
Java:创建、读取或更新 Excel 文档
java·excel
wangbing112517 小时前
EXCEL文本数字如何批量转换为数字
excel
一个帅气昵称啊18 小时前
使用微软Agent Framework .NET构建智能代理应用
microsoft·flask·.net
心疼你的一切1 天前
Unity开发利器:ScriptableObject的数据容器设计与内存优化原理
microsoft·unity·c#·游戏引擎
至善迎风1 天前
将跨平台框架或游戏引擎开发的 Windows 应用上架 Microsoft Store
windows·microsoft·游戏引擎
web守墓人1 天前
【go语言】gopls工具与LSP协议全面解析
excel
2501_930707781 天前
使用C#代码删除 Excel 中的公式但保留数值
excel
liliangcsdn1 天前
python如何写数据到excel示例
开发语言·python·excel