
いつもお世話になってます。
マクロの記録で、シートの何箇所かの指定した部分のセルの色を白色にして印刷するマクロを作ったのですが、シートを保護すると自動で白色にしますが、印刷しません。
エラーの表示は、
「実行時エラー’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(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
エクセル・VBA CheckBoxのオブジェクト名に変数を使うことは可能でしょうか?
Excel(エクセル)
-
-
4
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
5
実行時エラー'1004': WorkSheetクラスのVisibleプロパティを設定できません
Visual Basic(VBA)
-
6
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
7
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
8
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
9
Excel VBA Interior.Color
Visual Basic(VBA)
-
10
バーコードコントロールが印刷時に反映されない
Excel(エクセル)
-
11
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
12
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
13
配列のペースト出力結果の書式について
Visual Basic(VBA)
-
14
VBA:小数点以下の数字を取得できる関数は?
Visual Basic(VBA)
-
15
クリップボードの内容を変数に取り込みたい(EXCEL VBA)
Visual Basic(VBA)
-
16
選択したセル範囲に入っているチェックボックスを全てOFFにしたい
Excel(エクセル)
-
17
On ErrorでエラーNoが0
Visual Basic(VBA)
-
18
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
19
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
20
エクセルVBAでコンボボックスの非表示について
iOS
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
マクロ1があります。 A1のセル...
-
エクセルで複数のシートのクリ...
-
Excelのシート上のShapeにイベ...
-
【エクセル】フリーワード検索...
-
テキストファイルをエクセルに...
-
EXCELのマクロで数値の時間計算。
-
長い時間かかるマクロが実行中...
-
excel定数の違いについて。xlAu...
-
指定値をマクロで検索&シート移動
-
複数のテキストデータ(文章)を...
-
【エクセル】「実行時エラー’10...
-
VBA初心者です。 仕事の残業を...
-
excel マクロコードを教えてい...
-
Excel VBA で行列計算をさせた...
-
「マクロが含まれているファイ...
-
エクセル:セル内の文字列の最...
-
エクセルVBAで実行中画面を...
-
エクセルマクロでファイル名や...
-
Excelにて、同じ画像を複数のセ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
マクロ1があります。 A1のセル...
-
エクセルで複数のシートのクリ...
-
Excelのシート上のShapeにイベ...
-
Excelで数字を入れたら対応する...
-
【エクセル】フリーワード検索...
-
エクセルで特定の行だけ行削除...
-
エクセルファイルを開いた回数...
-
エクセル シート内の一番下のセ...
-
EXCELのダイアログシートって、...
-
長い時間かかるマクロが実行中...
-
【エクセル】「実行時エラー’10...
-
指定値をマクロで検索&シート移動
-
エクセル:セル内の文字列の最...
-
excel定数の違いについて。xlAu...
-
Excelにて、同じ画像を複数のセ...
-
Excelマクロでブック全体を検索...
-
エクセルでマクロを作りすぎた...
-
エクセルVBAで実行中画面を...
-
シートではなくBOOK間で重複し...
おすすめ情報