誕生日にもらった意外なもの

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

A 回答 (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
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/01/08 04:05

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

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!