|
こんばんは。
>なぜか今日やってみるとちゃんと動きました。
>今までは動かなかったのに・・・。
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
|
|