前提・実現したいこと
Excel 2013のVBAにおいてアクティブシートを削除・再作成し、ボタン2つを表示させるボタンを作成しようとしています。
発生している問題・エラーメッセージ
実行時エラー '-2147417848(80010108)': オートメーション エラーです。 起動されたオブジェクトはクライアントから接続されました。 ※デバッグボタンを押すと、「ActiveSheet.Delete」で停止している。
該当のソースコード
VBA
1Sub reMake() 2 Application.DisplayAlerts = False 3 ActiveSheet.Delete 4 Sheets.Add 5 Set b1 = ActiveSheet.Buttons.Add(1, 0, 100, 10) 6 Set b2 = ActiveSheet.Buttons.Add(1, 10, 100, 10) 7 b1.OnAction = "reMake" 8End Sub
試したこと
- 上のコードをVBEで実行して作成されたb1を2回クリックすると、オートメーションエラーが発生します。
- 上のコードをVBEで実行してボタン作成後、ブック再起動して、b1を3回クリックすると、オートメーションエラーが発生します。
- VBEからF5で実行する場合、発生しません。ループで1000回ほど実行しても発生しません。
- ActiveSheet.Deleteしない場合、発生しません。
-- アクティブなシート上の全てのオブジェクト削除は、必要な動作です。ここではシート削除→作成で実装しています。
- b2を作成しない場合、発生しません(但し必要な動作です)
- Application.DisplayAlerts = Falseは再現に必須でありませんが、メッセージが煩わしいため載せています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/07 07:28 編集
2019/11/07 07:51 編集
2019/11/08 00:18
2019/11/08 00:42
2019/11/08 08:00