[算表] vba dictionary 遇到空值如何跳过

楼主: sworder12 (sworder)   2019-02-21 17:48:00
软件:excel
版本:2016
hi,小弟前两天有发问如何用access 显示重复次数,用来管理歌曲清单的(两万多笔)
当初是因为excel 函数(count if) 计算太吃资源,爬文可以用access 来处理
现在又觉得access 不是很直觉,因为不太会用...
反正现在试出一个方法就是用vba来检查是否重复(如图),跑起来也是很快速
https://imgur.com/EBq3gWS.png
现在一个问题就是,我的语法里面,如果遇到空白的值,也会返回 "重复" 结果
程式码如下,不知道该怎么修改...
Sub 按钮5_Click()
Dim Arr, xD, i&, T$, U&, TM
TM = Timer
Set xD = CreateObject("Scripting.Dictionary")
Arr = Range([K2], Cells(Rows.Count, 11).End(3))
For i = 1 To UBound(Arr)
T = Arr(i, 1): U = xD(T): Arr(i, 1) = ""
If U > 0 Then Arr(U, 1) = "重复": xD(T) = -1: U = -1
If U < 0 Then Arr(i, 1) = "重复"
If U = 0 Then xD(T) = i
Next i
[I2].Resize(UBound(Arr)) = Arr
MsgBox Timer - TM
End Sub
作者: soyoso (我是耀宗)   2019-02-21 18:14:00
for下面加上if arr(i,1)<>"" then,next上面加上end if或是于U=0后面加上 and T<>""

Links booklink

Contact Us: admin [ a t ] ucptt.com