| 
    
     |  | こんばんは。 
 >なぜか今日やってみるとちゃんと動きました。
 >今までは動かなかったのに・・・。
 
 Application.EnableEvents = False
 のままエラー終了すると、イベントが発生しなくなります。
 その後何度やっても、Worksheet_Changeは発生しないので、イベントマクロは動きません。
 そんなときは、イミディエイトウィンドウに
 Application.EnableEvents = True と記述してエンターでイベントが発生するようになります。
 
 
 前回質問したのですが・・・・
 PrefixCharacterの使い方がよくわからないのですが、
 以下のようなことですか?
 よくやっていることの意味がわからないので、
 うまくいかないときは、識者の回答をお待ちください。
 
 Private Sub Worksheet_Change(ByVal Target As Range)
 If Intersect(Target, Range("F4:F28,I4:I28,L4:L28,O4:O28,R4:R28")) Is Nothing Then Exit Sub
 With Target
 If .Count > 1 Then Exit Sub
 If IsEmpty(.Value) Then Exit Sub
 If IsEmpty(.Offset(, -1).Value) Then Exit Sub
 Application.EnableEvents = False
 If Len(.PrefixCharacter) > 0 Then
 Select Case .Value
 Case "-1": .Offset(, 1).Value = "休み"
 Case "-2": .Offset(, 1).Value = "計年"
 Case "-3": .Offset(, 1).Value = "出張"
 End Select
 Else
 .Offset(, 1).Value = .Value
 End If
 End With
 Application.EnableEvents = True
 End Sub
 
 |  |