いつもお世話になってます。
マクロの記録で、シートの何箇所かの指定した部分のセルの色を白色にして印刷するマクロを作ったのですが、シートを保護すると自動で白色にしますが、印刷しません。
エラーの表示は、
「実行時エラー’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も見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
-
4
VBAの日付チェックでオーバーフローを回避したい。
Access(アクセス)
-
5
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
6
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
8
DATE型変数を初期化する方法
Visual Basic(VBA)
-
9
エクセルでエラーが出て困っています。
Excel(エクセル)
-
10
VBAでの結合セルのコピー&ペースト
Excel(エクセル)
-
11
関数の引数でrangeを指定したとき
Visual Basic(VBA)
-
12
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
13
Excel VBA Interior.Color
Visual Basic(VBA)
-
14
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
15
メッセージボックスで1025文字以上を扱う
Visual Basic(VBA)
-
16
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
17
マクロの「SaveAs」でエラーが出るのを解消したいです(再)
Visual Basic(VBA)
-
18
Rangeメソッドは失敗しました。globalオブジェクトについて
Excel(エクセル)
-
19
VBAでワークシートを引数としてサンプル関数に渡したい
Visual Basic(VBA)
-
20
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで複数のシートのクリ...
-
Excel VBAでのWorksheet_Change...
-
エクセルファイルを開いた回数...
-
Excelのシート上のShapeにイベ...
-
セルの一部分だけを太字にする方法
-
【エクセル】「実行時エラー’10...
-
長い時間かかるマクロが実行中...
-
エクセルマクロでファイル名や...
-
Excelで数字を入れたら対応する...
-
Excelのマクロ 検索範囲を広げ...
-
「マクロが含まれているファイ...
-
エクセル上にシェイプで二重丸...
-
エクセルで特定の行だけ行削除...
-
エクセルのマクロを教えてくだ...
-
エクセルのマクロ実行後にカー...
-
Excelでセル内の文字をファイル...
-
EXCELのダイアログシートって、...
-
エクセル シート内の一番下のセ...
-
エクセル:セル内の文字列の最...
-
エクセルVBAで実行中画面を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のシートのクリ...
-
Excelで数字を入れたら対応する...
-
Excel VBAでのWorksheet_Change...
-
エクセルファイルを開いた回数...
-
Excelのシート上のShapeにイベ...
-
【エクセル】フリーワード検索...
-
【エクセル】「実行時エラー’10...
-
セルの一部分だけを太字にする方法
-
長い時間かかるマクロが実行中...
-
Excelでセル内の文字をファイル...
-
エクセルで特定の行だけ行削除...
-
エクセル シート内の一番下のセ...
-
エクセル:セル内の文字列の最...
-
EXCELのダイアログシートって、...
-
エクセルVBAで実行中画面を...
-
前月分を次月シートに繰越でき...
-
マクロ1があります。 A1のセル...
-
excel定数の違いについて。xlAu...
-
エクセルマクロでファイル名や...
-
エクセルで○をつけるマクロ設定
おすすめ情報