何から手をつけていけば・・
シートの保護とデータ範囲の書き換え許可は ツール>保護で・・・
ログイン・アクセス制限
シート名 認証、data、ご利用の注意 を用意
シート(認証)には 隣りあわせで 名前 アクセス権レベル 1, 2 などの数字
例 aa 1 bb 2 を設定
動作
ログインにて aa を設定すると 全てアクセス可
bbで ログインすると dataシーのみアクセス可。それ以外は「ご利用の注意」シート に飛ばされる。
応用すれば、入力すべきシートに飛ばせる。
認証シートに登録していない名前でログインインすると「ご利用の注意」シート に飛ばされる。
↓ThisWorkbookのモジュールに貼る↓
Public ログインユーザー As String
Public アクセス権 As String
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.EnableEvents = False
If ログインユーザー = "" Then
'ログイン処理
ログインユーザー = InputBox("きっ・・君の名は? ..", "ログイン")
If Worksheets("認証").Cells.Find(ログインユーザー) Is Nothing Then
Worksheets("ご利用の注意").Select
Worksheets("ご利用の注意").Protect
MsgBox ("ごめん 人違いだった・・ 【アクセス禁止】")
Else '認証成功
アクセス権 = Worksheets("認証").Cells.Find(ログインユーザー).Offset(0, 1).Value
Worksheets("ご利用の注意").Select
End If
End If
Select Case アクセス権 'チェック
Case 1
If Sh.Name Like "*" Then '全て許可
Sh.Unprotect
End If
Case 2, 3, 12
If Sh.Name Like "data*" Then 'データシートを変更許可
Sh.Unprotect
Else
Sh.Protect 'このシートに対してはアクセス禁止
Worksheets("ご利用の注意").Select
Worksheets("ご利用の注意").Protect
End If
Case Else '許可シート以外へのアクセスは戻る
Worksheets("ご利用の注意").Select
Worksheets("ご利用の注意").Protect
End Select
Application.EnableEvents = True
End Sub
お礼
お礼が遅れまして、申し訳ございません。 ご丁寧に教えていただきありがとうございました。 なんとか教えていただきました構文を理解できるように勉強します。