- ベストアンサー
【エクセル】「実行時エラー’1004’ InteriorクラスのColorIndeXプロパティを設定できません。」とは?
いつもお世話になってます。 マクロの記録で、シートの何箇所かの指定した部分のセルの色を白色にして印刷するマクロを作ったのですが、シートを保護すると自動で白色にしますが、印刷しません。 エラーの表示は、 「実行時エラー’1004’ InteriorクラスのColorIndeXプロパティを設定できません。」 です。 デバッグというところを押すと、 記述の「Selection.Interior.ColorIndex = 2」という部分が黄色くなっていました。 解消するにはどうすればよいのでしょうか? どうぞご教示のほどよろしくお願いします。 【エクセル2003】
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
シートの保護がかかっているため、マクロ内でセルの色が変更できないのだと思います。 対策はいろいろあると思いますが、以下のような感じでいかがでしょうか。 <その1> ActiveSheet.Unprotect Selection.Interior.ColorIndex = 2 ActiveSheet.Protect として、セルの色を変えるときだけシート保護を解除する。 <その2> ActiveSheet.Protect UserInterfaceOnly:=True ActiveSheet.Range("A1").Interior.ColorIndex = 2 として、「画面からは変更できないが、マクロでは変更できるモード」のシート保護にマクロの中で変更する。 <その3> ActiveSheet.Protect UserInterfaceOnly:=True だけのマクロを作成し、シート保護をかけるときはExcelのメニューからでなく、上記マクロを実行して保護をかける。(元のマクロはいじらない)
お礼
大変勉強になりました。 私の職場での大きい効率UPになります。誠にありがとうございます。