作者moon0815 (阿呆 )
看板Visual_Basic
标题[VBA ]问题:如何在vba环境下使用excel的函数?
时间Sat Jun 7 17:52:35 2008
是酱子的
我在写VBA的时候 需要用到一些EXECL的函数
例如:常态累积分配的反函数
我同学是说 VBA无法直接呼叫EXCEL的函数
所以要先在外面工作表的储存格呼叫EXCEL的函数後
再抓值到我要在VBA里面运算的矩阵里
所以我按照我同学所说的写法如下:
For i = 1 To Number
For j = 1 To day
'Z(j, i) = "=NORMINV(RAND()," & Mean(i) & "," & Std(i) & ")" '这是我本来想要做的方法
wrksht.Cells(j, 10 + 2 + 2 * Number + i) = "=NORMINV(RAND()," & Mean(i) & "," & Std(i) & ")"
wrksht.Cells(j, 10 + 3 + 3 * Number + i) = "=CHIINV(RAND(),248)"
Z(j, i) = wrksht.Cells(j, 10 + 2 + 2 * Number + i)
X(j, i) = wrksht.Cells(j, 10 + 3 + 3 * Number + i)
'MsgBox Z(j, i)
Next
Next
这样做是可行
但是速度太慢啦
我模拟1次 就要1.5小时
老师要求我们要模拟10000次耶
我不是等到天荒地老? QQ
还是说这样写 其实并不影响计算速度
那我就更要哭死了~~QQ
所以想请各位大大帮帮我
看能不能直接在VBA的环境下 把EXCEL内建好的函数抓进来用
我有看到一个是APPLICATION.函数
但我不确定这个可以吗?
先谢谢各位大大了~~<()>
--
只有用真心 才能交到真心的朋友
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.70.93.33
1F:推 Laird:Application.WorksheetFunction. 06/07 18:32
2F:→ MOONRAKER:我记得VBA help里面也有教 不过因为没用到 从没看过 @@ 06/07 18:48