• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:イベントプロシージャ『 Worksheet_Change 』の対象セル)

イベントプロシージャの対象セル『 Worksheet_Change 』の問題について

このQ&Aのポイント
  • イベントプロシージャ『 Worksheet_Change 』の対象セルを『 コピー貼付 』する際にマクロがフリーズする問題が発生しています。
  • 特定の貼り付け方法でマクロがフリーズしてしまうため、解決策を求めています。
  • コピー元のセルと貼り付け先のセルが共にセル結合されているが、これが問題の原因ではないと考えられます。

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

  • ベストアンサー
  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.2

> ちなみに、ツールの『 編集 』から『 形式を選択して貼り付け 』の手順で貼り付けた場合も > 問題なく情報が貼り付いてくれます。(マクロがフリーズ状態にはなりません) > 何故、右クリックして貼り付けを試みた場合にだけマクロがフリーズするのかが分かりません。 単純にWorksheet_Changeの中にコードをシンプルで行ったら、何も問題はありませんでした。 やはりexcuse-meさんが作成したコードが影響あるのだと思います。 私も、EXCELでは色々わからない問題で苦労させられました。 でもどういう時に問題が起こるかは、調査した方が良いかと思います。 できれば今のコードで、問題が出そうな所(例えばセルにセットする等々)をコメントアウトしていき、障害に影響するコードを探してください。 それを知っていることも技術や知識?になると思います。 ※役に立たず申し訳ありませんでした。

excuse-me
質問者

お礼

この度は親切にご回答を頂き誠にありがとうございました。 もう一度、マクロ構文を見直してみて障害を回避できる策を探してみます。

その他の回答 (1)

  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.1

Worksheet_Changeのコードがないので、推測で回答いたします。 Worksheet_Changeイベントでセルに値を設定しているのではないでしょうか? そのため、セルに値を入れた段階で、また「Worksheet_Changeイベント」が発生し イベントの繰り返しになっていると思います。 Worksheet_Changeイベントの処理中はイベントを発生させないために、 「Application.EnableEvents」を使用すれば解決すると思われます。 具体的には以下の通りです。 Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False           :  ' イベント処理              : Application.EnableEvents = True End Sub

excuse-me
質問者

お礼

この度は早々にご回答を頂き誠にありがとうございました。 確かにイベントの繰り返し状態であれば『 Application.EnableEvents = False 』で 解決するのですが、今回の件ではイベントの繰り返しが原因ではございませんでした。 ツールの『 編集 』から『 貼り付け 』の手順だと問題なく貼り付けられる状況なので・・・ ちなみに、ツールの『 編集 』から『 形式を選択して貼り付け 』の手順で貼り付けた場合も 問題なく情報が貼り付いてくれます。(マクロがフリーズ状態にはなりません) 何故、右クリックして貼り付けを試みた場合にだけマクロがフリーズするのかが分かりません。 最悪の場合は『 Worksheet_BeforeRightClick 』でコピーモードを解除してしまうことで 『 右クリックでの張り付け 』を強制的に回避しようと考えておりますが、できれば 『 右クリック 』で問題なく情報が貼り付いたようにユーザーに認識させたいのです。 何か良い解決策がございましたら改めて教えて下さい。この度は誠にありがとうございました。

関連するQ&A