- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【ExcelVBA】マクロボタンについて)
ExcelVBAマクロボタンで正しい結果が得られない原因とは?
このQ&Aのポイント
- Excel2003で作成したマクロ1をExcel2013のマクロボタン1から実行すると、正しい結果が得られない。しかし、Alt+F8キーで表示されるマクロ一覧から実行すると、正しい結果が得られる。
- 別のマクロ2をマクロボタン2から実行すると、正しい結果が得られる。
- 互換モードや保存形式の変更など試しても結果は同じで、ボタンからの実行では正しい結果が得られない。原因は不明。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>何が原因として考えられるでしょうか? 「マクロボタン1」という表現は、その原因を判断できるような情報ではありません。 もう少し、詳しく書いてもらわないと、何が正しくて、何が正しくないのか、分かりません。「不思議」という表現をされても、さっぱり伝わらないのです。 エラーが出ず、正しくない結果になるとしたら、コードが原因だとしか言いようがありません。基本的には、バージョンが違うから、VBAの数値や文字列の返り値の結果に違いが出るということはありません。 VBAのコードは、どうなっているのでしょうか? フォーム・コントロールのマクロ・コードは、標準モジュールですが、通常の書き方だと、アクティブシートに対して行われます。一度、ActiveX コントロールで作ってみたらいかがですか?
お礼
回答ありがとうございます。 > 「マクロボタン1」という表現は、その原因を判断できるような情報ではありません。 マクロを登録しているボタンが2つあり、便宜的にマクロボタン1、マクロボタン2と表現したのですが、わかりづらかったようで申し訳ありません。 ボタンを使わずにマクロを実行すれば問題ないこと、また、質問文には書きそびれていましたが、Excel2003で使用していたときはボタンのクリックでも問題なく処理できていたことから“不思議”と感じましたので、そのまま質問文に記載してしまいましたが、これもわかりづらかったようで…。 > フォーム・コントロールのマクロ・コードは、標準モジュールですが、通常の書き方だと、アクティブシートに対して行われます。 マクロボタン1での処理は、あるシートのデータの中から条件を満たすものを別のシートに転記するという内容なので、シートをまたぐことが関係しているのかもしれないというヒントを得ることができましたので、もう少し検証してみようと思います。