|
本帖最后由 mjwwy 于 2015-1-8 15:21 编辑
为什么在最后一讲中尝试封装校长讲解的返回“不重复个数”的函数时候出现错误
VB代码如下:
Function OnlyCount(rg As Excel.Range)
Dim d As Object
Dim arr, sr, r
Set d = CreateObject("scripting.dictionary")
arr = rg
For Each r In arr
d(r) = ""
Next r
OnlyCount = d.Count
End Function
封装时提醒“用户定义类型未定义”
是说在VB中没有excel.range吗?看校长封装好的文件,也是这样写的函数代码啊?
另外我测试了一个最简单的乘积函数
function aa(a as long.b as long)
aa=a*b
end function
按照校长的方法先运行“regsvr32 相乘.dll”, 在excel中运行=aa(10,20),返回的结果正确,但是继续运行删除的命令regsvr32 相乘.dll /u, 在excel加载项中也确实反映没有选中这一项加载项,但是在sheet中输入=aa(10,20),仍然没有报错是什么原因呢?
|
|