作者myrailgun (超電磁砲)
看板Visual_Basic
標題[VBA ] 關於型態宣告和資料型態不符
時間Sat Nov 7 18:05:40 2020
各位大大好,目前在做一些資產組合的vba模型,但在建模上遇到一點問題:
Function portfolio_SD(ByRef Cov, ByRef Weight) As Double
Dim i As Integer
Dim j As Integer
Dim N As Integer
Dim temp_SD As Double
N = UBound(Cov.Value)
For i = 1 To N
For j = 1 To N
temp_SD = temp_SD + Weight(i, 1) * Weight(j, 1) * Cov(i, j)
Next
Next
portfolio_SD = temp_SD^(0.5)
End Function
跑出來系統一直跟我說第一行的宣告型態跟倒數第二行temp_SD^(0.5)的
資料型態不符。我不太懂他是指什麼意思,但若是型態的話我兩個都設為Double了阿?
之後我試著把0.5次方拿掉,結果就有顯示數值了。有點困惑XD若我要加這個次方
需要做什麼樣的更改呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 5.151.132.66 (英國)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1604743542.A.C36.html
1F:→ lalacos123: 你用vartype 查一下就知道對不對了 11/07 20:16
感謝大大的回覆,剛剛用vartype跑了一下顯示5,表示他們都是double的形式,
後來我發現是空格的關係,也就是不能打temp_SD^(0.5) 而是要temp_SD ^ (0.5)
但還是蠻困惑差一個空格為什麼就不行= =
※ 編輯: myrailgun (5.151.132.68 英國), 11/08/2020 02:52:49