次の動作が理解できない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
laufzeitfehler ' 13' typen unverträglichがスローされます。chart
問題のある行をに変更する
set ser = diagram.seriesCollection.item(CStr(s))
エラーがなくなります。
それがなぜなのか、私にはわかりません。CStr()
何か (ここでは: s
) を文字列に変換することになっていますが、s
既に文字列になっています。