咨询数据类型不匹配问题
山水无言 2014-03-15 01:23:04
Sub test()
’通过下面6句把一个数组传递给cheng函数,则在cheng函数的sigma = sigma + CLng(val)处提示数据“类型不匹配”,我原来是sigma = sigma + val,提示类型不匹配,于是修改为sigma = sigma + CLng(val),还是提示类型不匹配。什么原因?怎么修改呢?
Dim x As Variant
Dim sz(1 To 3) As Variant
For x = 1 To 3
sz(x) = x
Next x
MsgBox cheng(sz)
‘直接用下面语句调用,cheng函数能正常返回结果
'MsgBox cheng(1, 2, 3, 4, 5, 6)
End Sub
Function cheng(ParamArray vals() As Variant)
Dim val As Variant
Dim sigma As Long
sigma = 0
For Each val In vals
'MsgBox TypeName(val)
'MsgBox TypeName(sigma)
sigma = sigma + CLng(val)
Next
cheng = sigma
End Function