dポイントプレゼントキャンペーン実施中!

以下のVBAが なぜか 2回繰り返し実行してしまう時があります。
- 必ずではありません。
どのような場合に2回実行されるのかよくわかりません。

Sub ABC()
ActiveCell.Offset(-1, 3).Activate
ActiveCell.FormulaR1C1 = "A"
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = "B"
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = "C"
ActiveCell.Offset(0, -4).Activate
End Sub

宜しくお願いします。

A 回答 (4件)

素人目で申し訳ございませんが、この文面だけであれば特に問題が無いように見えます。


どちらかというと、このプログラムを呼び出すボタンや他のCALLシーケンスに問題があるのではないでしょうか?
その程度のアドバイスは不要と言う場合は申し訳ないです。

この回答への補足

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

補足日時:2012/11/26 17:27
    • good
    • 0

他の回答者様もおっしゃるとおり、コードは2回実行されるようになっていないと思います。


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

この回答への補足

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

補足日時:2012/11/27 10:07
    • good
    • 0

No.2 です。


補足を拝見しました。

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

こんにちは。



記載のプロシージャには問題はなく、また標準プロシージャなので呼び出し側の問題と思います。
ブレークポイントを設定してデバッグすることをおすすめします。

(参考)
http://www.moug.net/tech/exvba/0150019.html

この回答への補足

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

補足日時:2012/11/26 17:27
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A