| 
    
     |  | いつもお世話になっています。 たくさんの人が使うエクセルファイルで例えばA3の所に佐藤と入力してシートが開き、鈴木と入力してシートが開かないようにコードを作成したいのですがそのことは可能でしょうか?自分なりにシートを変更するコードを作成しましたがうまくいきません。
 このコードをステップ実行で行っても、3行いったりきたりするだけです。
 
 
 Private Sub Worksheet_Change(ByVal Target As Range)
 Set abc = Range("A3")
 abc.Value = "佐藤" ←ここに名前を並べても実行しなかったので、
 
 上記のコードとは別にChoose関数を使い下記のコードを作成しました。セルにChoose関数の中に明記されてある森をセルA3に入力するとエラー表示され、このシートのセルのカーソルを移動する際名前がみつかりませんと表示され、このシート毎消えてしまいます。
 NewSheet.Deleteがあるから消えるというのはわかりますが、カーソルを移動
 した時なぜ名前がみつかりませんと表示されるのかわかりません。
 Private Sub Worksheet_Change(ByVal Target As Range)
 Dim getchoice
 Dim NewSheet As Worksheet
 
 On Error GoTo ryou
 
 
 Set NewSheet = Sheets(2)
 Set tommy = Range("A3")
 getchoice = Choose(tommy, "佐藤", "田中", "森")
 Exit Sub
 
 ryou:
 If Err.Number = 13 Then
 Msg = "名前がみつかりません"
 MsgBox Msg, , "エラー", Err.HelpFile, Err.HelpContext
 Application.DisplayAlerts = False
 NewSheet.Delete
 Application.DisplayAlerts = True
 On Error Resume Next
 End
 End If
 End Sub
 
 |  |