Worksheet_Changeについて
特定のマクロの前後でWorkSheet_Changeを終了し再開させる方法がありましたらお願い致します。
Windows7 SP1 Office2010
Private Sub WorkSheet_Change(ByVal Target As Range)
Dim c As Range
For Each c In Target
Select Case c.address(0, 0)
Case "C1"
If Intersect(Target, Range("C1")) Is Nothing Then Exit Sub '検査範囲
Application.EnableEvents = False '再帰実行の停止
If Range("C1").Value <> Sheets("祝祭日").Range("A1").Value Then
MsgBox ("祝日の設定を反映するため年度を同じにしてください。")
End If
Application.EnableEvents = True
Case Else
Select Case c.address(0, 0)
Case "G1"
If Range("G1") = 4 Then '4月データの表示
Dim ret As Integer
ret = MsgBox(Format(ActiveSheet.Range("G5").Value, "ge年mm月") & "の勤務割表の編集&入力保存データを元に表示します。" & vbCrLf & "よろしいですか?", _
vbOKCancel + vbQuestion, "勤務割表表示切替確認")
Select Case ret
Case vbOK
UserForm8.Show vbModeless
UserForm8.Repaint
当月データのクリア
メインデータの復元4月
編集データの復元4月
Sheets("メイン・1").Select
Unload UserForm8
Sheets("メイン・1").Range("G1").Select
ActiveCell.FormulaR1C1 = "4"
※ ここで終了ないし一時停止
図形の貼付け
※ここで再開させたいのですが?
Case vbOKCancel
Exit Sub
End Select
ElseIf Range("G1") = 5 Then '5月データの表示
ret = MsgBox(Format(ActiveSheet.Range("G5").Value, "ge年mm月") & "の勤務割表の編集&入力保存データを元に表示します。" & vbCrLf & "よろしいですか?", _
vbOKCancel + vbQuestion, "勤務割表表示切替確認")
Select Case ret
Case vbOK
UserForm8.Show vbModeless
UserForm8.Repaint
当月データのクリア
メインデータの復元5月
編集データの復元5月
Sheets("メイン・1").Select
Unload UserForm8
図形の貼付け
Case vbOKCancel
Exit Sub
End Select
End If
End Select
End Select
Next
End Sub
お礼
へそ! やってみます。 基本 Changeで拾うべきなのですが、なぜか WEB配信データでChangeが反応しないのです。(そうしたものらいしです)