【VBA】に関する知恵袋
【質問】
excel vba です「実行時エラー '-2147417848(80010108)'オートメーションエラーです。パソコンリサイクルをいうと、起動されたオブジェクトはクライアントから切断されました。パソコンリサイクルを言及していくと、」と以下の構文の最後の行で出ます。Set chartObj = Sheets("Sheet1").ChartObjects.Add(55, PbWkShi01, 460, 305) chartObj.Chart.ChartType = xlXYScatterSmooth chartObj.Chart.SetSourceData Source:=WkSn01.Range(Cells(5, PtCol02), Cells(PbWkHab01 + 5, PtCol02)) chartObj.Chart.Location Where:=xlLocationAsObject, Name:="Sheet1"補足説明エラーが出るのはWindows2000Excel2000で出ます、全く同じ処理をWindowsXpExcel2003で実行しても出ません上記構文はVBA全体の一部抜粋しています、VBAの知恵袋とは、Doループ処理で回っていますが、VBAの知恵袋とは、一番最初の処理で出ます。Whithなどを使って他の表現をするには、どう記述すればよいでしょう教えて下さい、また他の解決方法や回避方法はあるのでしょうか?宜しくお願い致します。
【解答】
>Set chartObj = Sheets("Sheet1").ChartObjects.Add(55, PbWkShi01, 460, 305)>chartObj.Chart.ChartType = xlXYScatterSmooth>chartObj.Chart.SetSourceData Source:=WkSn01.Range(Cells(5, PtCol02), Cells(PbWkHab01 + 5, PtCol02))以上で、グラフはすでにSheet1にあるはずなので>chartObj.Chart.Location Where:=xlLocationAsObject, Name:="Sheet1"は、パソコンリサイクルを語ると、必要ないと思います。パソコンリサイクルを知りたいのであれば、VBAの知恵袋というと、エラーについてはわかりません。あと、WkSn01がアクティブでないワークシートの場合には>chartObj.Chart.SetSourceData Source:=WkSn01.Range(Cells(5, PtCol02), Cells(PbWkHab01 + 5, PtCol02))でもエラーになりますので、注意のこと。CellsもRange同様 WkSn01. をつける必要があります。また、散布図を書こうとしているのに、データが1列分しか指定されていないのも気になります。VBAの知恵袋に関連する解説をすると、thinkre_tnさんの意図しているグラフは出力されていますか?