• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA 2回実行してしまう?)

VBAの実行時に2回繰り返し実行される理由について

このQ&Aのポイント
  • VBAの実行時に意図せず2回繰り返し実行される場合があります。具体的なケースについては不明ですが、原因としてはプログラムのロジックやセルの位置ずれなどが考えられます。
  • 上記のVBAコードでは、ActiveCell.Offset()メソッドを使用してセルの位置を移動していますが、このメソッドが不正確な位置へ移動する場合があります。その結果、意図しない箇所にコードが実行される可能性があります。
  • VBAを実行する際に2回実行される現象を回避するには、セルの位置を正確に指定するように注意する必要があります。また、実行前にデバッグモードでコードの動作を確認することも効果的です。

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

  • ベストアンサー
回答No.1

素人目で申し訳ございませんが、この文面だけであれば特に問題が無いように見えます。 どちらかというと、このプログラムを呼び出すボタンや他のCALLシーケンスに問題があるのではないでしょうか? その程度のアドバイスは不要と言う場合は申し訳ないです。

nonnbee
質問者

補足

ボタンで実行すると4回に1回ぐらい2回走ります。 マクロで実行すると正常ですが

その他の回答 (3)

  • queuerev2
  • ベストアンサー率78% (96/122)
回答No.4

他の回答者様もおっしゃるとおり、コードは2回実行されるようになっていないと思います。 もしかしてマウスの左ボタンが調子悪くてチャタリングが発生しているのでは? 現在のマウスの左ボタン以外でクリックしてみて同じようになるかどうか試してみてはいかがでしょうか。 方法ですが、以下のようなものが考えつきます。 A.マウスを交換する B.コントロールパネル「マウス」で左右のボタンを入れ替える C.コントロールパネル「ユーザー補助のオプション」の「マウス キー機能」(マウスキー)を使う (コントロールパネルはWindows XPの場合であり、他のWindowsでは異なる可能性があります。)

nonnbee
質問者

補足

原因は解りませんが、ボタンを削除して作り変えたら正常に動くようになりました。 皆さんありがとうございました。

回答No.3

No.2 です。 補足を拝見しました。 では、そのボタンのプロシージャを丸ごと(Private Sub から)この補足に書き込み願います。 もちろん、差支えがなければ・・です。

回答No.2

こんにちは。 記載のプロシージャには問題はなく、また標準プロシージャなので呼び出し側の問題と思います。 ブレークポイントを設定してデバッグすることをおすすめします。 (参考) http://www.moug.net/tech/exvba/0150019.html

nonnbee
質問者

補足

ボタンで実行すると4回に1回ぐらい2回走ります。 マクロで実行すると正常ですが?