こんにちは。
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
EXCELのセルへ、デジタル時計を...
-
Excel VBA のdebug(F8キー) が...
-
Wordで「原稿用紙○枚」を換算す...
-
Excelを開いた時に表示さ...
-
エクセル グラフの軸の最小値最...
-
複数ファイルにある特定のシー...
-
ワードからエクセルへ貼り付け...
-
エクセルのマクロ機能で前のシ...
-
エクセルで複数のシートをまと...
-
EXCEL2000 VBA マクロ実行中に...
-
Excelのマクロを実行中に、ダウ...
-
エラーになってないのにVBA...
-
【緊急】OUTLOOK受信メールの添...
-
Excelのワークシート上に検索窓...
-
Excelの改ページ 同シート内で...
-
モジュール内のマクロを全て実...
-
【エクセル】 キーを押すと、...
-
マクロ ブックをマクロなしでコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
EXCELのセルへ、デジタル時計を...
-
Excel VBA のdebug(F8キー) が...
-
Excelを開いた時に表示さ...
-
エラーになってないのにVBA...
-
複数ファイルにある特定のシー...
-
Wordで「原稿用紙○枚」を換算す...
-
ワードからエクセルへ貼り付け...
-
モジュール内のマクロを全て実...
-
エクセル グラフの軸の最小値最...
-
エクセルのマクロ機能で前のシ...
-
Wordの画面を左右にスクロール...
-
TeraTermのマクロについて
-
エクセルで複数のシートをまと...
-
EXCEL 複数のシートの同一の位...
-
ワードで画像を自動で挿入する方法
-
Excelマクロでオプションボタン...
-
開いているフォルダを全て閉じ...
-
【Excel VBA】エラー番号400
おすすめ情報