- ベストアンサー
シートの保護とセルの色
あるセルの色だけ変更できるようにするにはどうしたら良いのでしょう? その他のセルは変更できないようにシート保護で入力できないようにしたい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 Excel2002以上であれば、[ツール]-[保護]-[シートの保護]から[セルの書式設定]を許可して、シートに保護をかけます。Exccel2000以下にはこのオプションがありませんので、下記のVBAで実装です。 次のコードをシートモジュールに貼り付けて下さい。VBEでシート保護パスワードがばれるのが嫌な場合は、プロジェクトに保護をかけて下さい。また、コード中にコメントを入れておきましたが、ご希望の動作となるようにカスタマイズして下さい。 '指定したセルのみ編集可能にする(保護の切り替え) Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim myRNG As Range, stRng As String Dim flag As Boolean Dim stPWD As String 'シート保護パスワード stPWD = "TEST" '編集を許可するセル範囲を定義 stRng = "A:A,B1:C5,D1" Set myRNG = Intersect(Target, Range(stRng)) flag = flase If Not myRNG Is Nothing Then If Target.Count = myRNG.Count Then flag = True End If End If If flag Then ActiveSheet.Unprotect (stPWD) Else ActiveSheet.Protect (stPWD) End If Set myRNG = Nothing End Sub
その他の回答 (1)
- mati53
- ベストアンサー率24% (9/37)
逆に、ある値OR式などの入っているセルにだけ色をつけるで条件が簡単なものであれば条件付書式でできると思いますが、複雑なものなどはわかりません。
お礼
Excel2002から可能なのですね。 使用しているのがExcel2000なので頂いたVBAを試してみます。ありがとうございます^^