• ベストアンサー

Excelのセル選択を不可にする方法

Excelの保護について教えてください。 Excelのシートの一部のセルをクリックできないように保護したいのですが、できません。 通常、保護設定をするとロックしているセルなどは入力しようとするとメッセージが出てくると思います。 そのメッセージもでてこないように、始めからクリックできないようにしたいのです。 どなたか、ご存知の方は教えてください。

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

こんにちは。KenKen_SP です。 シートの EnableSelection プロパティーを xlUnlockedCells にします。 シートを保護している間のみ有効です。 1. Excel のシート選択タブで対象シートを選択し、右クリック [コードの表示]   --> Visual Basic Editor 起動(以下 VBE) 2. VBE で [表示]-[プロパティーウインドウ]クリック 3. 2. で表示されたプロパティー一覧から EnableSelection プロパティーを   xlUnlockedCells に変更 4. VBE を閉じ、シートを保護する これをプログラムで行うと、次のような感じになります。 Sub Sample()   With ActiveSheet     ' シートを保護する     .Protect Password:="", UserInterfaceOnly:=True     ' ロックされたセルを選択できなくする(保護が有効時のみ)     .EnableSelection = xlUnlockedCells   End With End Sub

その他の回答 (3)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.4

あと、フォームで使われる(本来の使い方ではない)テクニックの一つですが、 透明ラベルを使う方法もあります。 ユーザーに選択(クリック)してほしくない部分が例えば、セル A1:C1 なら  1.  [表示]-[ツールバー]-[フォーム] からラベルをセル A1:C1 の上に配置  2. ラベルのキャブション(文字)は消去  3. シート保護 以上です。

r1e
質問者

お礼

回答ありがとうございます。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.3

ブック起動時にVBAでスクロール範囲を限定してしまう、 という手もあります。 ↓はSheet1はA1~D10までしかスクロールできなくなります。 ThisWorkbook.Sheets("Sheet1").ScrollArea = "A1:D10" ただ、この方法だと、飛び飛びのセルは指定できません。

r1e
質問者

お礼

回答ありがとうございます。 VBAで限定できるのですね。参考になました。

  • kenken0
  • ベストアンサー率24% (46/190)
回答No.1

ツール→保護→シートの保護 ロックされたセル範囲の選択のチェックをはずす 以上で完了です。 ただし、ダブルクリックすればメッセージは出てしまいます。

r1e
質問者

お礼

回答ありがとうございます。