Excel 2003 アクティブなシートが保護されていると、VBA で別シート上の図形が削除できない

現象

Excel 2003 では、保護されたシートがアクティブな状態で、VBA を利用し保護が掛かっていない別シート上の図形を削除することができません。

解決方法

図形があるシートをアクティブにした後で、削除します。

詳細

問題の再現手順
  1. Excel を起動し、新規ブックを開きます。
  2. Sheet1 を選択後、メニューから [挿入]-[図]-[ワードアート] を選択し、Sheet1 上にワードアートを作成します。
  3. Sheet2 を選択後、メニューから [ツール]-[保護]-[シートの保護] を選択し、Sheet2 を保護します。
  4. Alt + F11 キーで Visual Basic Editor を開き、イミディエイト ウィンドウで以下のコードを実行します。
    Sheets("Sheet1").Shapes(1).Delete
結果
以下のエラーが発生します。

実行時エラー '1004': アプリケーション定義またはオブジェクト定義のエラーです。

関連情報

Excel 2007 以降では、この現象は発生いたしません。
プロパティ

文書番号:2770636 - 最終更新日: 2016/09/29 - リビジョン: 1

フィードバック