调教 母狗 VBA数组去重
发布日期:2024-08-24 08:38 点击次数:90
vba思要给数组去重调教 母狗,不错通过获得数组里的一个元素放入新数组,之后用Filter函数将原数组里的交流称号元素剔除,再索要下一个元素再剔除,轮回重叠直至原数组为空,这么得到的新数组即是剔除重叠值后的数组。
SM调教以下例如用vba给数组【"番茄", "香蕉", "小番茄", "香蕉", "番茄", "提子"】去除重叠值:
Sub 数组去重() arr1 = Array("番茄", "香蕉", "小番茄", "香蕉", "番茄", "提子") '待去重数组 Dim arr2() As Variant '修复动态数组,行为去重后数据存放的数组 iCounter = 0 '“去重数组”的待用下标 aa = "@" '第一种极度字符 bb = "#" '第二种极度字符 arr1 = Split(bb & Join(arr1, bb & aa & bb) & bb, aa) '给“待去重数组”数组里通盘元素前后添加“#” Do element = arr1(0) '获得“待去重数组”里的第一个元素 ReDim Preserve arr2(iCounter) '从头界说动态数组大小 arr2(iCounter) = element '给“去重数组”添加该元素 iCounter = iCounter + 1 arr1 = VBA.Filter(arr1, element, False) '“待去重数组”剔除通盘element元素 Loop While Join(arr1, "") <> "" '当“待去重数组数组”为空时退出轮回 arr = Split(Replace(Join(arr2, aa), bb, ""), aa) '剔除“去重元素存放数组”所极度组元素中的“#” MsgBox Join(arr, ",") '用“,”串联数组通盘元素稽查恶果 End Sub
以上代码得到的去重数组即是【"番茄", "香蕉", "小番茄", "提子"】。
需要细巧的是,原数组在进行获得元素放入新数组前,要先对所极度组元素进行前后加极度符号“保护”,原因是Filter函数的筛选是腌臜匹配,思要精准匹配就要对数组元素预处分(步调治析详见我的著作【VBA用Filter精准匹配筛选或剔除数组元素】),细巧选拔的两种极度字符必须是在数组元素中莫得出现的符号。在去重轮回甩掉后还要对去重后的数组打消预处分时添加的极度符号(步调治析详见我的著作【VBA去除数组元素中的特定字符串】)。
以上本色对您有匡助不错共享或转藏调教 母狗,幸免以后找不到。思要了解更多VBA联系学问,迎接到http://moqingyan.360doc.com我的个东谈主藏书楼稽查。
本站仅提供存储干事,通盘本色均由用户发布,如发现存害或侵权本色,请点击举报。