• ベストアンサー

シートの保護とセルの色

あるセルの色だけ変更できるようにするにはどうしたら良いのでしょう? その他のセルは変更できないようにシート保護で入力できないようにしたい。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.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

spsabu
質問者

お礼

Excel2002から可能なのですね。 使用しているのがExcel2000なので頂いたVBAを試してみます。ありがとうございます^^

その他の回答 (1)

  • mati53
  • ベストアンサー率24% (9/37)
回答No.1

逆に、ある値OR式などの入っているセルにだけ色をつけるで条件が簡単なものであれば条件付書式でできると思いますが、複雑なものなどはわかりません。

関連するQ&A