热点资讯

你的位置:海南管理系统开发 > 管理系统开发资讯 > 管理系统开发价格 VBA数组去重

管理系统开发价格 VBA数组去重


发布日期:2024-09-28 11:32    点击次数:158


vba思要给数组去重,不错通过赢得数组里的一个元素放入新数组,之后用Filter函数将原数组里的疏通称呼元素剔除,再索要下一个元素再剔除,轮回相同直至原数组为空,这么得到的新数组即是剔除相同值后的数组。

小程序开发

以下例如用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我的个东说念主藏书楼搜检。

龙头分析:历史同期第182期龙头分别开出号码:01→02→01管理系统开发价格,龙头开出比较密集,去年同期龙头号码下降了1个点位,对比去年龙头,今年第182期看好龙头转向上升,关注号码03。

本站仅提供存储做事,扫数本体均由用户发布,如发现存害或侵权本体,请点击举报。