• ベストアンサー

エクセルでセルにパスワードを設定したい

エクセルでセルにパスワードを設定したいんですが? *例えばA1はoooo、A2は××××を入力しないと数値の入力が出来ない…ようにしたいのですが可能でしょうか?宜しくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.5

Sub test02() Worksheets("sheet3").Range("b1").Locked = True Worksheets("sheet3").Protect ("aaaa") End Sub でセルにパスワードaaaaを設定できます。2つのセルを並べて書けば保護できます。しかしProtect の前のWorksheets("sheet3").は(オブジェクトと言います)ワークブックかワークシートに限られ、セル(=Range)は許されていません。 それで、セルにパスワードを設定したいんですが->OK A1はoooo、A2は××××を入(パスワードがセルごと別々--->No ということだと思います。 Sub test02() Worksheets("sheet3").Range("b1").Locked = True Worksheets("sheet3").Protect ("aaaa") Worksheets("sheet3").Range("c1").Locked = True Worksheets("sheet3").Protect ("bbbb") End Sub は第2行の実行後は第3行以下は実行不可能でエラーに成ります。 既出回答と結論が違いますので、ご批判を乞う。間違っていた場合はすみません。

すると、全ての回答が全文表示されます。

その他の回答 (4)

noname#8027
noname#8027
回答No.4

マクロで作るしかないと思います。 「ツール」-「マクロ」ー「Visual Basic Editor」 を開いて、左側のエリアで、適当なWORKSHEETあるいは、BOOKをダブルクリックして、下記を貼り付けましょう。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim PassStr(10, 10) As String Dim InputPassStr As String 'パスワード登録 PassStr(1, 1) = "abcd" PassStr(1, 2) = "efgh" Me.Unprotect 'A1のとき If Target.Row = 1 And Target.Column = 1 Then InputPassStr = InputBox("パスワードを入力してください。") If InputPassStr <> PassStr(Target.Row, Target.Column) Then Me.Protect End If 'A2のとき If Target.Row = 1 And Target.Column = 2 Then InputPassStr = InputBox("パスワードを入力してください。") If InputPassStr <> PassStr(Target.Row, Target.Column) Then Me.Protect End If End Sub

すると、全ての回答が全文表示されます。
  • matrix4
  • ベストアンサー率16% (118/704)
回答No.3

#2の追加です セルのパスはすべて、一括統一され同じになります。

すると、全ての回答が全文表示されます。
  • matrix4
  • ベストアンサー率16% (118/704)
回答No.2

シートの保護を掛けて、セルの保護にチェックする。 ツール シートの保護 保護する 保護したいセルで、書式設定 セルの保護 セルの保護チェック(初期はしてある)  また、非表示もできます シートに保護掛ければ全体に掛かります。 保護したくないセルには、チェックをはずして あげれば入力など可能です。

すると、全ての回答が全文表示されます。
  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.1

エクセルの基本設定ではセル単位でのパスワード設定は出来ませんので、VBAを利用して設定する必要があると思います。

すると、全ての回答が全文表示されます。