Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


41158 / 76736 ←次へ | 前へ→

【40660】ワークシートチェンジイベント(【40409...
質問  aaa  - 06/7/20(木) 9:35 -

引用なし
パスワード
   以前に質問させていただいた者です。【40409】
前に教えていただいた時うまくいっていたのですが、ちょっと問題があり改良する必要が出てきましたので再度質問させていただきます。
ワークシートチェンジイベントで、ある特定のセルの値が変更された時にイベント(s_creategraph)が発生するようにしたいと考えています。

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim onDate As Variant
  Dim ofDate As Variant
  Dim maxvalue As Variant
    Application.EnableEvents = False
    onDate = Worksheets("Sheet1").Range("B1").Value
    ofDate = Worksheets("Sheet1").Range("D1").Value
    maxvalue = Worksheets("Sheet1").Range("G1").Value
    On Error GoTo End_Len
    With Target
      If onDate = "" Then
        MsgBox "日付を入れてください"
        Worksheets("車室別売上").Range("B1").Activate
        GoTo End_Len
      ElseIf ofDate = "" Then
        MsgBox "日付を入れてください"
        Worksheets("車室別売上").Range("D1").Activate
        GoTo End_Len
      ElseIf onDate > ofDate Then
        MsgBox "正しい日付を入力してください"
        Worksheets("車室別売上").Range("B1").Activate
        GoTo End_Len
      ElseIf maxvalue = "" Then
        MsgBox "最大値を入れてください"
        Worksheets("車室別売上").Range("G1").Activate
        GoTo End_Len
      End If
      s_creategraph
    End With
    On Error GoTo 0
End_Len:
    Application.EnableEvents = True
  End Sub


しかし初期値をそのセルに入れたときにはこのイベントが発生して欲しくないので標準モジュールに

Application.EnableEvents = False
※初期値入力処理
Application.EnableEvents = True

としています。
初期値入力処理のところに、ひとつの標準モジュールにコードを書くとすごく長くなってしまうのでサブルーチン化しています。
サブルーチンごとに上記の「Application.EnableEvents = False」を入れるのはすごく厄介ですし、どこに書いたのかわからなくなってしまいますので、フラグを立ててワークシートチェンジイベントが走らないようにしたいと思っています。
しかし色々調べたのですがフラグを立てる具体的なやり方がわかりません。
テキストには「Boolean型のパブリック変数を定義して初期値にFalseを代入しておき・・・」と書いてありましたが、この方法でサブルーチン内でもその処理が有効になるのでしょうか?

よろしくお願いします。
0 hits

【40660】ワークシートチェンジイベント(【40409... aaa 06/7/20(木) 9:35 質問
【40679】Re:ワークシートチェンジイベント(【4040... ひげくま 06/7/20(木) 12:55 発言
【40683】Re:ワークシートチェンジイベント(【40... aaa 06/7/20(木) 13:39 発言
【40685】Re:ワークシートチェンジイベント(【40... ひげくま 06/7/20(木) 13:50 発言
【40715】Re:ワークシートチェンジイベント(【40... aaa 06/7/21(金) 11:08 お礼

41158 / 76736 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free