我有一段 Excel-VBA 代码,其中以下行为使我无法理解
option explicit
....
private sub XYZ()
dim s as string
dim ser as series
dim diagram as chart
...
s = function_returning_string(....)
' Following line throws runtime exception 13
set ser = diagram.seriesCollection.item(s)
....
end sub
如果我尝试在上面概述seriesCollection
的chart
对象中获取命名项目,它会抛出(德语)错误laufzeitfehler '13' typen unverträglich这将是运行时错误 13:英语类型不匹配。
将违规行更改为
set ser = diagram.seriesCollection.item(CStr(s))
使错误消失。
我不知道为什么会这样。CStr()
应该将某些东西(此处:)转换为s
字符串,但s
已经是字符串。