※ ChatGPTを利用し、要約された質問です(原文:VBA ChartTypeメソッドに関するエラー)
VBA ChartTypeメソッドに関するエラー
このQ&Aのポイント
VBA ChartTypeメソッドに関するエラーが発生しました。シートの保護を有効にすると、実行時エラーが発生します。
シートの保護を有効にしたときにのみ発生するエラーです。解決方法をご存知の方がいらっしゃいましたら、ご教示お願いします。
特定のセル以外の編集をロックするために他のシートの編集制限方法を探しています。完成したブックを他人が使用する際に予期せぬ動作を防ぐためです。
セルに入力された値から計算を経て配列を作成し、配列を参照して散布図を作成するマクロを作成しています。
シートが保護されていない状態でマクロが正常に動作するのを確認しましたが、シートの保護を有効にして実行すると
実行時エラー '-2147467259 (80004005)'
'ChartType' メソッドは失敗しました:'_Chart'オブジェクト
というようなエラーが発生します。
ActiveSheet.Shapes.AddChart2.Select
ActiveChart.ChartType = xlXYScatterLines ←ここでエラーが発生
新たに作成されたチャート自体にも保護が有効になっていることが原因かと考え
ActiveSheet.Shapes.AddChart2.Select
ActiveSheet.ChartObjets(1).Locked = False
ActiveChart.ChartType = xlXYScatterLines
としてみましたがエラーは解決しませんでした。
シートの保護を有効にしたときにのみ発生するエラー、問題点や解決方法をご存知の方がいらしたらご教示お願いします。
あるいはシートの保護機能以外にシートの編集を制限する方法があればそれでもかまいません。
完成したブックを他人が使用する際に予期せぬ動作を防ぐため、特定のセル以外の編集をロックしたい次第です。
よろしくお願いします。
お礼
ご指摘の通り、Activesheet.Unprotectをマクロの先頭に加えて実行したところ無事動作の確認を致しました。 合わせてマクロの最後にActivesheet.Protectを入れることで保護も有効状態にすることが出来ましたのでこれでエラーの対応とします。 助かりました!ありがとうございました!