[算表] Excel VBA变量字符限制

楼主: home0303 (Blue night)   2019-01-22 11:22:51
软件:EXCEL
版本:2010
因有同事需要 我协助写了一个自订函数
目的是取得不重复项目个数
Function NoDuplicateCount(范围) '统计不重复个数
字串 = "^"
For Each cell In 范围
If InStr(字串, cell) = 0 Then 字串 = 字串 & "^" & cell.Value
Next
If 字串 = "^" Then NoDuplicateCount = 0: Exit Function
NoDuplicateCount = Len(字串) - Len(Application.Substitute(字串, "^", "")) - 1
End Function
一开始还可顺利运作 但资料一多发现就错了
我用msgbox抓了一下 发现是因为 字串 在某处就停止了
我猜应该是VBA对于变量的容量已经到了极限
那请问类似的目的有何其他的解法呢??
谢谢
作者: soyoso (我是耀宗)   2019-01-22 11:47:00
设个变量累加,以工作表函数countif计数,为1时累加1最后回传该变量值或以要用dictionary方式,不存在exists时写入任一数字,存在时改写入个文字,最后工作表函数count该变量的项目集合
楼主: home0303 (Blue night)   2019-01-22 12:51:00
谢谢 Countif的方式我可以理解 就用这个来解

Links booklink

Contact Us: admin [ a t ] ucptt.com