Excel VBA質問箱 IV

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

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


31150 / 76738 ←次へ | 前へ→

【50843】Re:イベントの実行を回避したいのですが
発言  kobasan  - 07/8/18(土) 0:20 -

引用なし
パスワード
   今晩は。

>If Target.Value = Empty Then
>   Application.EnableEvents = False
>   Range(Target.Offset(, 1), Target.Offset(, 7)).ClearContents
>
> というコードを書き、クリアされた行の変化で実行されるイベントが起こらないようにしたいのですが、なぜかChangeイベントが動いてしまいます。 ちなみに上記のClearcontentsの命令は実行されています。

Application.EnableEvents = False の位置は(1)の所だと思います。これで、

> テストのためApplication.EnableEventsはこの後Trueにしていないのですが、その後の操作でもイベントは動いています。

の問題は解決ですね。

Private Sub Worksheet_Change(ByVal Target As Range)
  Application.EnableEvents = False  '<==(1)
  If Target.Value = Empty Then
    Range(Target.Offset(, 1), Target.Offset(, 7)).ClearContents
  End If
  Application.EnableEvents = True
End Sub

ただし、こうすると、これ以降のイベントは、発生しなくなります。

ということで、このコードからすると、多分、次のようにすべきでしょうね。

Private Sub Worksheet_Change(ByVal Target As Range)
  Application.EnableEvents = False
  If Target.Value = Empty Then
    Range(Target.Offset(, 1), Target.Offset(, 7)).ClearContents
  End If
  Application.EnableEvents = True
End Sub

試してみてください。
0 hits

【50839】イベントの実行を回避したいのですが Tsuyo 07/8/17(金) 18:12 質問
【50842】Re:イベントの実行を回避したいのですが neptune 07/8/17(金) 19:57 発言
【50843】Re:イベントの実行を回避したいのですが kobasan 07/8/18(土) 0:20 発言
【50844】Re:イベントの実行を回避したいのですが neptune 07/8/18(土) 8:28 発言
【50845】Re:イベントの実行を回避したいのですが Tsuyo 07/8/18(土) 9:07 質問
【50846】Re:イベントの実行を回避したいのですが neptune 07/8/18(土) 9:42 発言
【50847】Re:イベントの実行を回避したいのですが Tsuyo 07/8/18(土) 11:04 質問
【50851】Re:イベントの実行を回避したいのですが neptune 07/8/18(土) 21:11 発言
【50900】Re:イベントの実行を回避したいのですが [名前なし] 07/8/21(火) 22:44 質問
【50852】Re:イベントの実行を回避したいのですが kobasan 07/8/18(土) 21:17 発言
【50903】Re:イベントの実行を回避したいのですが Tsuyo 07/8/21(火) 23:19 質問
【50909】Re:イベントの実行を回避したいのですが kobasan 07/8/22(水) 6:42 発言
【50915】Re:イベントの実行を回避したいのですが Tsuyo 07/8/22(水) 9:30 お礼

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