• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:[VBA] 更新後処理イベントを複数条件で適用する)

[VBA] 更新後処理イベントを複数条件で適用する

このQ&Aのポイント
  • VBAで更新後処理イベントを複数条件で適用する方法について教えてください。環境はWindows 7 Pro 64bitとExcel 2010です。
  • F6:F35の範囲の文字列を全角に変換する処理に加えて、別の範囲で別の処理を追加したい場合はどのように記述すればよいでしょうか?H6:J35の範囲を全角から半角に変換する処理もしたいです。
  • 質問に不備や不足があればご指摘いただきたいです。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8470/18134)
回答No.1

自分で書いたコードを読む気がないのですか? If Intersect(Target, Range("F6:F35")) Is Nothing Then Exit Sub というコードでF6:F35以外は処理をしないようにしているのだから,ここをなんとかしなければいけませんよね。例えば If not Intersect(Target, Range("F6:F35")) Is Nothing Then 'F6:F35に対する処理 elseIf not Intersect(Target, Range("H6:J35")) Is Nothing Then 'H6:J35に対する処理 end if のようにすれば必要な処理はどちらかになって,それ以外の場合は何もしないようになります。 そして「F6:F35に対する処理」は今までと同じです。  Application.EnableEvents = False  For Each r In Target   r.Value = StrConv(r.Value, vbWide)  Next r  Application.EnableEvents = True でいいでしょう。 それから「H6:J35に対する処理」は全角を半角にするのだから,vbNarrowを使って  Application.EnableEvents = False  For Each r In Target   r.Value = StrConv(r.Value, vbNarrow)  Next r  Application.EnableEvents = True でいいでしょう。

rihitomo
質問者

お礼

できました! ありがとうございます!

関連するQ&A

専門家に質問してみよう