こんにちは。
Excel2003で作成したマクロ1をマクロボタン1に登録してシート上に配置しています。
これをExcel2013で開いて(互換モード)マクロボタン1をクリックしてマクロ1を実行すると、エラーは出ませんが、正しい結果が得られません。
マクロボタンからではなく、Alt+F8キーで表示されるマクロ一覧からマクロ1を選択して実行すると、正しい結果が得られますので、コードの記述には問題なさそうです。
上記のマクロとは別のマクロ2をマクロボタン2に登録して、マクロボタン1と同じシート上に配置していますが、こちらはボタンからの実行でも正しい結果が得られます。
試しに、フォームコントロールから新たにボタンを挿入し、マクロ1を登録して実行してみましたが、結果は同じでした。
また、互換モードではなくExcel2013で保存し直して(.xlsm)上記と同じことをしてみましたが、これも結果は同じでした。
何が原因として考えられるでしょうか?
マクロをボタンに登録しないと絶対に困るというわけではないのですが、ボタンからの実行では正しい結果が得られないのが不思議です。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
>何が原因として考えられるでしょうか?
「マクロボタン1」という表現は、その原因を判断できるような情報ではありません。
もう少し、詳しく書いてもらわないと、何が正しくて、何が正しくないのか、分かりません。「不思議」という表現をされても、さっぱり伝わらないのです。
エラーが出ず、正しくない結果になるとしたら、コードが原因だとしか言いようがありません。基本的には、バージョンが違うから、VBAの数値や文字列の返り値の結果に違いが出るということはありません。
VBAのコードは、どうなっているのでしょうか?
フォーム・コントロールのマクロ・コードは、標準モジュールですが、通常の書き方だと、アクティブシートに対して行われます。一度、ActiveX コントロールで作ってみたらいかがですか?
回答ありがとうございます。
> 「マクロボタン1」という表現は、その原因を判断できるような情報ではありません。
マクロを登録しているボタンが2つあり、便宜的にマクロボタン1、マクロボタン2と表現したのですが、わかりづらかったようで申し訳ありません。
ボタンを使わずにマクロを実行すれば問題ないこと、また、質問文には書きそびれていましたが、Excel2003で使用していたときはボタンのクリックでも問題なく処理できていたことから“不思議”と感じましたので、そのまま質問文に記載してしまいましたが、これもわかりづらかったようで…。
> フォーム・コントロールのマクロ・コードは、標準モジュールですが、通常の書き方だと、アクティブシートに対して行われます。
マクロボタン1での処理は、あるシートのデータの中から条件を満たすものを別のシートに転記するという内容なので、シートをまたぐことが関係しているのかもしれないというヒントを得ることができましたので、もう少し検証してみようと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/22 11:43
- Excel(エクセル) マクロで謎の現象が起きていて困ってます。 エクセルで作ったボタンを押すとマクロが動いて処理をしてくれ 3 2023/06/22 17:28
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- Visual Basic(VBA) VBA 登録ボタンを省略してエンターキーで作業 4 2022/07/09 22:29
- Visual Basic(VBA) ExcelVBA ドロップボックスで月を選択するとそれ以降のデータが残るようにしたい。 3 2022/12/16 14:53
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Excel(エクセル) マクロでコピーすると数式が表示される 1 2022/09/09 20:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA のdebug(F8キー) が...
-
ローマ字→カタカナへ変換(エク...
-
EXCELのセルへ、デジタル時計を...
-
エクセル グラフの軸の最小値最...
-
エクセルのマクロ機能で前のシ...
-
Excel文字列中の太字(Bold)部分...
-
EXCEL2000 VBA マクロ実行中に...
-
Image J ソフトの使い方
-
マクロ 実行ボタンを押さずに...
-
エラーになってないのにVBA...
-
ワードで一連作業の繰り返し
-
Excelマクロでオプションボタン...
-
マクロ ブックをマクロなしでコ...
-
【Excel VBA】エラー番号400
-
Excelのワークシート上に検索窓...
-
テキストボックスに入力したシ...
-
複数ファイルにある特定のシー...
-
UWSCからエクセルのマクロを実行
-
GetAsyncKeyState(32) の動作が...
-
Wordの画面を左右にスクロール...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
複数ファイルにある特定のシー...
-
マクロ 実行ボタンを押さずに...
-
EXCELのセルへ、デジタル時計を...
-
Excelを開いた時に表示さ...
-
エラーになってないのにVBA...
-
Excel VBA のdebug(F8キー) が...
-
ワードからエクセルへ貼り付け...
-
エクセルのマクロ機能で前のシ...
-
Excelのワークシート上に検索窓...
-
モジュール内のマクロを全て実...
-
エクセル グラフの軸の最小値最...
-
EXCEL 複数のシートの同一の位...
-
エクセルで複数のシートをまと...
-
【Excel VBA】エラー番号400
-
Excelマクロでオプションボタン...
-
Wordの画面を左右にスクロール...
-
マクロ ブックをマクロなしでコ...
-
Wordで「原稿用紙○枚」を換算す...
-
AccessのテーブルデータをExcel...
おすすめ情報