イベントプロシージャ『 Worksheet_Change 』の対象セルを『 コピー貼付 』の際
どんな方法で貼り付けてもマクロがフリーズすることがなくなる方法をご存知の方が
いらっしゃいましたら、是非その方法を教えて下さい。
『 Worksheet_Change 』対象セルの『 コピー貼付 』の際、ツールの『 編集 』から
『 貼り付け 』の手順で『 Worksheet_Change 』対象セル宛に情報を貼り付けてみた
場合は特に問題なく情報が貼り付いてくれます。
『 Ctrl+V 』で貼り付けた場合も問題なく情報が貼り付いてくれます。
しかし、コピー後に貼り付け先のセルを右クリックして『 形式を選択して貼り付け 』の手順での
貼り付けをしようとすると、必ず決まってマクロがフリーズしてしまいます。
そのため、その度にウィンドウ右上の閉じるボタン『 X 』をクリックして『 保存しますか? 』を
『 キャンセル 』してマクロのフリーズを解除している状況です。
コピー元のセルと貼り付け先のセルは共にセル結合されている状態ですが、この『 セル結合 』は
マクロのフリーズとは無関係のことと思われます。
何か良い解決策をご存知の方、どうか宜しくお願いします。
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
この度は早々にご回答を頂き誠にありがとうございました。
確かにイベントの繰り返し状態であれば『 Application.EnableEvents = False 』で
解決するのですが、今回の件ではイベントの繰り返しが原因ではございませんでした。
ツールの『 編集 』から『 貼り付け 』の手順だと問題なく貼り付けられる状況なので・・・
ちなみに、ツールの『 編集 』から『 形式を選択して貼り付け 』の手順で貼り付けた場合も
問題なく情報が貼り付いてくれます。(マクロがフリーズ状態にはなりません)
何故、右クリックして貼り付けを試みた場合にだけマクロがフリーズするのかが分かりません。
最悪の場合は『 Worksheet_BeforeRightClick 』でコピーモードを解除してしまうことで
『 右クリックでの張り付け 』を強制的に回避しようと考えておりますが、できれば
『 右クリック 』で問題なく情報が貼り付いたようにユーザーに認識させたいのです。
何か良い解決策がございましたら改めて教えて下さい。この度は誠にありがとうございました。
No.2ベストアンサー
- 回答日時:
> ちなみに、ツールの『 編集 』から『 形式を選択して貼り付け 』の手順で貼り付けた場合も
> 問題なく情報が貼り付いてくれます。(マクロがフリーズ状態にはなりません)
> 何故、右クリックして貼り付けを試みた場合にだけマクロがフリーズするのかが分かりません。
単純にWorksheet_Changeの中にコードをシンプルで行ったら、何も問題はありませんでした。
やはりexcuse-meさんが作成したコードが影響あるのだと思います。
私も、EXCELでは色々わからない問題で苦労させられました。
でもどういう時に問題が起こるかは、調査した方が良いかと思います。
できれば今のコードで、問題が出そうな所(例えばセルにセットする等々)をコメントアウトしていき、障害に影響するコードを探してください。
それを知っていることも技術や知識?になると思います。
※役に立たず申し訳ありませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/07/05 09:30
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) QRコード作成マクロについて 3 2022/11/26 16:55
- Excel(エクセル) Excelに文字データのみを貼り付けたい 8 2023/05/03 15:38
- Excel(エクセル) Excel フィルタ後のコピー貼付けと可視セルの関係について 3 2023/02/07 16:42
- Excel(エクセル) エクセル ブック間のコピー 5 2022/04/24 08:11
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) エクセルからビジオのリンク貼り付け 1 2023/03/30 17:51
- Excel(エクセル) エクセルについて教えてください。 3 2023/03/24 08:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルが空白だったら、そ...
-
ExcelVBAを使って、値...
-
VBAでセルをクリックする回...
-
VBからEXCELのセルの値を取得す...
-
Excelで指定した日付から過去の...
-
特定の文字を条件に行挿入とそ...
-
【Excel】指定したセルの名前で...
-
Sub 要具ライフ() ActiveSheet....
-
任意フォルダから画像をすべて...
-
i=cells(Rows.Count, 1)とi=cel...
-
【VBA】飛び飛びの3セルに"完了...
-
Excel VBAで比較して数値があっ...
-
Excel VBA、 別ブックの最終行...
-
【Excel VBA】指定行以降をクリ...
-
TODAY()で設定したセルの日付...
-
エクセル(Excel) ワイルドカー...
-
EXCELで変数をペーストしたい
-
エクセルVBAで、シート上で結合...
-
ExcelのVBAで数字と文字列をマ...
-
VBAの計算で@が出てしまう件
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
【Excel VBA】指定行以降をクリ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel】指定したセルの名前で...
-
Excelで指定した日付から過去の...
-
特定の文字を条件に行挿入とそ...
-
Excel VBA、 別ブックの最終行...
-
EXCELで変数をペーストしたい
-
Excelのプルダウンで2列分の情...
-
Excel vbaで特定の文字以外が入...
-
TODAY()で設定したセルの日付...
-
screenupdatingが機能しなくて...
-
DataGridViewの各セル幅を自由...
-
Sub 要具ライフ() ActiveSheet....
-
【EXCEL VBA】Range("A:A").Fi...
-
VBAを使用した時間管理
-
VBAでセルをクリックする回...
-
セル色なしの行一括削除
-
エクセルVBAでコピーして順...
おすすめ情報