[VBA ]問題:如何在vba環境下使用excel的函數?
是醬子的
我在寫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
推
06/07 18:32, , 1F
06/07 18:32, 1F
→
06/07 18:48, , 2F
06/07 18:48, 2F