
いつもお世話になってます。
マクロの記録で、シートの何箇所かの指定した部分のセルの色を白色にして印刷するマクロを作ったのですが、シートを保護すると自動で白色にしますが、印刷しません。
エラーの表示は、
「実行時エラー’1004’ InteriorクラスのColorIndeXプロパティを設定できません。」
です。
デバッグというところを押すと、
記述の「Selection.Interior.ColorIndex = 2」という部分が黄色くなっていました。
解消するにはどうすればよいのでしょうか?
どうぞご教示のほどよろしくお願いします。
【エクセル2003】
No.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のメニューからでなく、上記マクロを実行して保護をかける。(元のマクロはいじらない)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- Excel(エクセル) セルによって印刷するシートを変える方法 EXCEL-VBA 2 2022/08/01 20:48
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/11 13:29
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Excel(エクセル) 【Excel】エクセルの1シートが2枚に分割されてしまうので印刷プレビューを押して閉 4 2022/12/13 13:12
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
エクセル・VBA CheckBoxのオブジェクト名に変数を使うことは可能でしょうか?
Excel(エクセル)
-
5
バーコードコントロールが印刷時に反映されない
Excel(エクセル)
-
6
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
7
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
8
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
9
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
10
VBA2005 16進を2桁で表示したい。
Visual Basic(VBA)
-
11
On ErrorでエラーNoが0
Visual Basic(VBA)
-
12
Excel VBA Interior.Color
Visual Basic(VBA)
-
13
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
14
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
15
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
16
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
17
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
18
エクセルVBAでコンボボックスの非表示について
iOS
-
19
実行時エラー'1004': WorkSheetクラスのVisibleプロパティを設定できません
Visual Basic(VBA)
-
20
クリップボードの内容を変数に取り込みたい(EXCEL VBA)
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのシート上のShapeにイベ...
-
マクロ1があります。 A1のセル...
-
エクセルで特定の行だけ行削除...
-
Excel VBAでのWorksheet_Change...
-
Excelで数字を入れたら対応する...
-
エクセルで複数のシートのクリ...
-
エクセル シート内の一番下のセ...
-
EXCELのダイアログシートって、...
-
エクセルファイルを開いた回数...
-
エクセルでマクロを作りすぎた...
-
【エクセル】「実行時エラー’10...
-
複数シートのグループ化ができ...
-
前月分を次月シートに繰越でき...
-
エクセルVBAで実行中画面を...
-
マクロを有効にしないとExcelフ...
-
エクセルで○をつけるマクロ設定
-
エクセル:セル内の文字列の最...
-
excel定数の違いについて。xlAu...
-
【エクセル】フリーワード検索...
-
エクセルのチェックボックス誤作動
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
エクセルで複数のシートのクリ...
-
マクロ1があります。 A1のセル...
-
Excelで数字を入れたら対応する...
-
Excelのシート上のShapeにイベ...
-
エクセル シート内の一番下のセ...
-
長い時間かかるマクロが実行中...
-
【エクセル】フリーワード検索...
-
エクセルで特定の行だけ行削除...
-
エクセルファイルを開いた回数...
-
EXCELのダイアログシートって、...
-
【エクセル】「実行時エラー’10...
-
Excelでセル内の文字をファイル...
-
セルの一部分だけを太字にする方法
-
エクセル マクロ 一定時間おき...
-
Excelにて、同じ画像を複数のセ...
-
前月分を次月シートに繰越でき...
-
エクセル:セル内の文字列の最...
-
excel定数の違いについて。xlAu...
-
excelで画像のハイパーリンクを...
おすすめ情報