作者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/cn.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