Excel VBA質問箱 IV

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

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


10234 / 76734 ←次へ | 前へ→

【72050】Re:セル更新時のマクロ
質問  けい E-MAIL  - 12/5/22(火) 14:04 -

引用なし
パスワード
   ▼UO3 さん:

こんにちは!ご回答いただきありがとうございました。
手直しいただいたコードを貼り付け、ブレークポイントを設定して実行してみた結果、L30をDeleteした時はExit Subに飛んで終わっていました。

空白として更新されたと認識されないようです。
どうしたら空白と認識されるのでしょうか、、、


>▼けい さん:
>
>こんにちは
>
>はずしているかもしれませんが・・・・
>
>たとえば L30 を「セル削除」した場合、確かにTarget.Address は
>$L$30 になります。
>ただし、その値は Target.Value であれ Range("L30").Value であれ
>「新しいL30」の値になります。(削除前のL30の値は返りません)
>
>ただし、「空白」、つまり、L30を「クリア」すれば、値は空白で返ってきます。
>なので、ElseIf での処理がなされると思うのですが?
>
>ブレークポイントの設定と、ステップ実行はご存知でしょうか?
>最初の If 文にブレークポイントを設定し、L30をクリアして、このコードでとまった後
>F8を押しながら1ステップずつ実行させますと、コードが、どのような順序で実行されるのかが
>わかります。是非、お試しください。
>
>それと、今回のケースでは、最初にTargetのアドレスをL30 と聞いていますので
>実害はないのですが、L36へのセットで、Changeイベントが発生し、その瞬間に
>このプロシジャに再入してきます。(イベントの連鎖)
>
>一般的には、処理の前に、
>Application.EnableEvents = False と記述してイベント発生を抑止し
>処理後に
>Application.EnableEvents = True として復旧させますね。
>
>アップされたコードと基本、同じですが、少し手直ししたものを参考まで以下に。
>
>Private Sub WorkSheet_change(ByVal Target As Range)
>  Dim P As VbMsgBoxResult
>  
>  If Target.Address <> "$L$30" Then Exit Sub
>  
>  Application.EnableEvents = False
>    
>  If Range("L30") <> "" Then
>  
>    P = MsgBox("有りですか?", vbYesNo)
>    
>    If P = vbYes Then
>    
>      Range("I36").Value = "有り"
>  
>    Else
>  
>      Range("I36").Value = "無し"
>    
>    End If
>    
>  Else
>    
>    Range("I36").ClearContents
>    
>  End If
>  
>  Application.EnableEvents = True
>  
>End Sub

4 hits

【72043】セル更新時のマクロ けい 12/5/21(月) 19:27 質問
【72044】Re:セル更新時のマクロ ponpon 12/5/21(月) 23:42 発言
【72051】Re:セル更新時のマクロ けい 12/5/22(火) 14:46 質問
【72047】Re:セル更新時のマクロ UO3 12/5/22(火) 11:14 発言
【72050】Re:セル更新時のマクロ けい 12/5/22(火) 14:04 質問
【72054】Re:セル更新時のマクロ UO3 12/5/22(火) 21:46 発言
【72060】Re:セル更新時のマクロ けい 12/5/23(水) 11:07 質問
【72055】Re:セル更新時のマクロ UO3 12/5/22(火) 21:51 発言
【72061】Re:セル更新時のマクロ けい 12/5/23(水) 11:34 質問
【72063】Re:セル更新時のマクロ UO3 12/5/23(水) 12:44 発言
【72066】Re:セル更新時のマクロ けい 12/5/23(水) 13:53 お礼
【72052】Re:セル更新時のマクロ ponpon 12/5/22(火) 15:01 発言

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