- ベストアンサー
エクセルでシート保護してもフォント色を変えられるようにしたい。
シート保護をすると、保護してないセルは入力や消去が可能ですが、文字の色を変えることが出来ませんよね。 それを保護しても色を変えられるようにはできないでしょうか? というのも、大きな表を作り、数値をデフォルトで入れ、計算をしたものを、何人かに配り、デフォルトの数値を訂正してもらうのですが、訂正があった部分を訂正した人にフォントの色を変えてもらうと、回収してから変更になったことがすぐわかって便利だと思ったのです。 ただ、複雑な式を入れていますので、入力してもらうセル以外は保護をかけないわけには行かないのです。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#4 です。 >>[式が] =A1<>INDIRECT("マスタ1!A1") > ...自宅の2003でやってみましたら反応してくれませんでした。 Excel2002 で動作するのは確認しているのですが、、Excel2003 は 手元にありませんので検証できてません。すみません。
その他の回答 (4)
- KenKen_SP
- ベストアンサー率62% (785/1258)
こんにちは。KenKen_SP です。 目的としては、修正のあったセルを明確にしたい、、ということで しょうか? ・#1 の方の条件付き書式による方法です。 条件付き書式は別シートを参照できないのですが、関数を経由 すると別シートを参照することが可能です。例えば、Sheet2 の A1 と、そのディフォルト値を退避しておいたシート「マスタ」 の A1 を比較し、値が変更されていれば、セル書式を変更する には、、 Sheet2 の A1 セルに次の条件付き書式を設定します。 [式が] =A1<>INDIRECT("マスタ1!A1") 書式は、値の削除も「修正」として捉えるなら、フォント色より もセル背景色の方が良いと思います。 あとは、シート「マスタ」を非表示にしてしまえば良いかと。 ・検索の容易さから言えば #2 の方の方法でしょうね。 値を修正したら、その横のセルあたりに、IF関数などでマークす れば良いかと。 例えば、A1 セルのディフォルト値が 5 とすれば、 B1セル =IF(A1<>5,"修正","") とか。 表題どおり、シートを保護したもセルやフォントの色を変更したい セルがある、、ということであれば、、 ・Excel2002 以上の場合 シート保護オプションからできます。 ・Excel2000 以前の場合--->マクロを使う。 ロジックはシンプルで、アクティブセルが編集を許可するセル だったら保護を解除するようにします。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim strAddress As String 'パスワード Const cstPassWord = "" '編集を許可するセルアドレスを文字列で定義 strAddress = "A1:C10,E1:E5,F1" If Target.Count > 1 _ Or Intersect(Target, Range(strAddress)) Is Nothing Then Me.Protect Password:=cstPassWord, UserInterfaceOnly:=True Else Me.Unprotect Password:=cstPassWord End If End Sub この方法は、マクロ無効で開かれたら意味がないですが。
お礼
KenKen_SPさん、こんにちは。いつもお世話さまです。 ありがとうございます。 >[式が] =A1<>INDIRECT("マスタ1!A1") これはとても良さそうですが、今自宅の2003でやってみましたら反応してくれませんでした。
- mshr1962
- ベストアンサー率39% (7417/18945)
Excel2002以降だとそのような方法もあります。 http://office.microsoft.com/ja-jp/assistance/HP052010591041.aspx それ以前の場合は、ブックの共有を掛けると良いのでは? http://office.microsoft.com/ja-jp/assistance/HP052025951041.aspx
お礼
ありがとうございます。 「ブックの共有」とは考えもしなかった方法ですが、これも特定のセルだけ書式変更って出来ましたっけ?
- piyotty
- ベストアンサー率44% (62/138)
Excelのバージョンが分からないため、できるのかどうかが分からないのですが、Excel2003では、シートの保護ダイアログで「このシートのすべてのユーザーに許可する操作」というオプションがあります。 ここで「セルの書式設定」にチェックを入れて許可すればフォント色は変えられます。お試し下さい。 なお、#1の方が書かれているように、フォント色で変更を見るのは勧めません。更新したマークを振るセルを用意しておき、更新した行をマークしてもらった方が検索などで探しやすくなります。
お礼
すみません。 バージョンはエクセル2000です。 2003でも指定したセルだけ書式変更を可能には出来ないのでは?(そうするとシート全部が書式変更可能になってしまうのでは・・・。)
補足
わたしのは会社が2000、自宅のが2003です。 ただ、会社で使うので2000を基準にしなくてはなりません。
- zgmfx10a
- ベストアンサー率9% (1/11)
的外れな回答でしたら、もうしわけございません。 変更箇所を探しやすくしたいということはデータがたくさんあるように思われます。 別途、変更したら○を入力する欄を 別途設けてはいかがですか? 未検証ですがマスターデータを隠して保持しておいて、 修正したら色が変わる「条件付き書式」を 設定するのも有効かもしれません。
お礼
お礼が遅くなりました。 > 未検証ですがマスターデータを隠して保持しておいて、 > 修正したら色が変わる「条件付き書式」を > 設定するのも有効かもしれません。 なるほど、これは良い方法かもしれません。 勉強になりました。
お礼
あ、わざわざありがとうございます。 わたしも明日、会社にでたら2000で試してみます。 何度もありがとうございました。
補足
いま、家から送付した2003のブックを会社の2000で試しました。 作動しませんでした。 おかしいと思って見直したら、なんとシート名が若干違ってました! 単純なケアレスミスでした。 (ケアレスミスを惹き起こした原因?は昨夜の「レシピ」カテゴリーに書いてます。ごめんなさ~い!!)