|
如下代码,要找出区域内出现5次的值,并逐一显示在F列中,当有结果时显示出了正确的结果
但是如果没有结果的话,就报错了
请问该如何修改一下代码 当没有符合条件的结果时 就显示 无 或者 空值呢?谢谢!
Sub scan()
Dim d, k, t, arr, cel, r&, arr1()
Set d = CreateObject("Scripting.Dictionary")
arr = [n1:bo10000]
For Each cel In arr
If cel <> "" Then
d(cel) = d(cel) + 1
End If
Next
k = d.Keys
t = d.items
ReDim arr1(1 To UBound(k) + 1, 1 To 1)
For i = 0 To UBound(k)
If t(i) >= 5 Then
r = r + 1
arr1(r, 1) = k(i)
End If
Next
[f1].Resize(r) = arr1
End Sub
- Sub scan()
- Dim d, arr, cel, r&, arr1()
- Set d = CreateObject("Scripting.Dictionary")
- [f:f] = ""
- arr = [n1:bo10000]
- ReDim arr1(1 To 60000, 1 To 1)
- For Each cel In arr
- If cel <> "" Then
- d(cel) = d(cel) + 1
- If d(cel) = 5 Then
- r = r + 1
- arr1(r, 1) = cel
- If r > UBound(arr1) - 1 Then Exit For
- End If
- End If
- Next
- If r < 1 Then
- Exit Sub
- ElseIf r = 1 Then [f1] = arr1(1, 1)
- Else
- [f1].Resize(r) = arr1
- End If
- End Sub
复制代码
|
|