|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 WYS67 于 2021-3-19 15:20 编辑
福彩 3D开奖数据.zip
(741.22 KB, 下载次数: 227)
如截图所示,T列是自定义函数DPBCF的计算结果。
为什么每次点击B1的更新数据按钮后,T列的计算结果就会显示#VALUE!错误?必须重新选定区域数组公式{ =DPBCF(S3:S8000) , 三键确定后,方能再次显示正确的计算结果【好像是不能自动更新计算结果】。
请老师们看看下面的代码,怎样修改代码,才能在每次点击B1的更新数据按钮后,都可以显示正确的计算结果?
Public Function DPBCF(rg As Range, Optional c As Variant) As Variant
Dim arr, i, d As Object, r, brr, m, k
Set d = CreateObject("scripting.dictionary")
arr = rg.Value
ReDim brr(1 To UBound(arr), 1 To 1) As Variant
If IsMissing(c) Then c = rg.Find("*", , xlValues, 1, , 2).Row
k = c - Application.ThisCell.Row + 1
m = rg.Count
For i = k + 1 To m Step 1
brr(i, 1) = ""
Next
For i = m To 1 Step -1
If arr(i, 1) <> "" And Not d.exists(arr(i, 1)) Then
d(arr(i, 1)) = ""
brr(k, 1) = arr(i, 1)
k = k - 1
End If
Next
For i = k To 1 Step -1
brr(i, 1) = ""
Next
DPBCF = brr
End Function
|
|