はじめまして。
vba初心者と言うものです。
アクセスVBAについて質問があります。
パスワードを入力することで特定の人だけがレコードを編集できるように制限をしたいです。
フォームの「読み込み時」のイベントに次の処理を記述しました。
Private Sub Form_Load()
Dim strPass As String
strPass = InputBox("パスワードを入力してください。")
If strPass = "vba" Then
Me.AllowEdits = True
Me.AllowAdditions = True
Me.AllowDeletions = True
Else
Me.AllowEdits = False
Me.AllowAdditions = False
Me.AllowDeletions = False
End If
End Sub
これにより、読み込み時にパスワードで編集できるようになったのですが、1つのテキストボックスのみ、この制限がかからないような設定をしたいです。どのようなVBAプログラムを記述するのかを教えていただきたいです。
VBAにおいて、ほとんど初心者なので分かりません。おねがいします。
一例ですが下記のような方法はいかがでしょう。
対象シートの編集制限をかけないセル以外のロック属性をTrueにしてやり
制限をかけないところのロック属性はFalseにしておく。
その後、シートの保護をすれば一つのセル以外は入力できなくなります。
その操作のマクロを以下に貼って起きます。
E10以外のセルは入力できないようになります。
シートの保護を解除するにはパスワード"1234"を入れます。
Cells.Select
Selection.Locked = True
Selection.FormulaHidden = False
Range("E10").Select
Selection.Locked = False
Selection.FormulaHidden = False
ActiveSheet.Protect Password:="1234", DrawingObjects:=True, Contents:=True, Scenarios:=True
すみません。
勘違いしてましたアクセスでの話ですね。
上記方法はエクセルのことなので無視してください。
ツイート | ![]() |