ログイン情報に基づいてユーザーから情報を収集する Excel ツールがあります。情報は、ワークシートの 1 つのセルに格納されます。これらのセルを手動で更新できないようにロックしたい場合は、どうすればよいですか? 他の誰かがログインすると、明らかにこれらのセルが変更されます。VBAでやりたいと思っています。
6つのセルだけをロックしたい...他のすべては編集可能でなければならない...
ありがとう
次のようなパスワードでワークシートを保護できます。
Private Sub Workbook_Open()
Sheets("sheetName").Protect Password:="YourPassword", UserInterfaceOnly:=True
End Sub
これにより、ユーザーはパスワードを入力せずにワークシートを手動で変更できなくなります。UserInterfaceOnly
に設定しているため、VBA コードは引き続き変更を加えることができますTrue
。
ユーザーは、Visual Basic エディターを介してコードに移動することで、このパスワードを簡単に表示できることに注意してください。ただし、コードをパスワードで保護することもできます。モジュールを右クリックし、VBAProject プロパティをクリックして、[保護] タブに移動します。
詳細については、このページを参照してください: Excel VBA: 保護されたワークシートとシートでマクロを実行するためのマクロ コード.
これらのセルが保護したいシート上の唯一のセルである場合は、Locked
プロパティをfalseに変更して残りのセルのセルプロパティを変更し、問題のセルをそのままにして、 setをtrueに設定しLocked
てシートを保護UserInterfaceOnly
します(ただし、これを理解してください可能性のあるすべてのマクロ変更に対して機能するとは限らないため、通常は回避します。)
他にも有効な方法がありますが、これが最適な解決策だと思います。そうでない場合は、コメントを追加してお知らせください。