• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBA マクロの記録をコマンドボタンにコピペしても動かないのはなぜ?)

エクセルVBAマクロの記録をコマンドボタンにコピペしても動かない理由

このQ&Aのポイント
  • エクセルVBAのマクロをコマンドボタンにコピペしても動かない理由についてご質問です。
  • マクロを記録したコードは問題なく動作するが、コマンドボタンにコピペするとエラーが発生して動かない状況です。
  • どうすればコマンドボタンに記録したマクロを正常に動作させることができるのか、またコマンドボタンにコピペするだけではなぜダメなのかについてお知りになりたいです。

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

  • ベストアンサー
  • SV576
  • ベストアンサー率28% (2/7)
回答No.1

そのエラーメッセージの内容を教えてください。 > また、どうしてボタンだとコピペするだけではいけないのでしょうか? ボタンだと、ということはありませんが、コピペだけで動くかどうかは内容次第です。 また、ためしに以下のようにすると、どうですか? Private Sub CommandButton1_Click() Worksheets("AAA").Range("A39:AQ39").Copy Worksheets("BBB").Range("A1").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False End Sub

VitaminBB
質問者

お礼

回答ありがとうございます。 回答の方法でうまくいきました。 ボタンでなければ、マクロの記録のままで動きます。 元々出ていたエラーメッセージは 実行時エラー’1004’ RangeクラスのSelectメソッドが失敗しました。 です。

その他の回答 (1)

  • SV576
  • ベストアンサー率28% (2/7)
回答No.2

>実行時エラー’1004’ >RangeクラスのSelectメソッドが失敗しました。 いろいろ考えられますが、ボタンから起動する場合はボタン自体が選択状態になっていたのかもしれませんね。 マクロ記録で作られたコードは、見てのとおりSelectがたくさんありますが、いちいち人が行った動作をすべて記録するからです。これが、呼び出すときの状況によってはエラーの原因になることもあります。 なので、ボタンだからだめ、というわけではなく、適宜編集する必要があることを、覚えておくといいと思います。 ちなみに下のコードは、シート"BBB"の"A1"セルに貼り付けるようになっているので、適宜その部分を変更してください。

VitaminBB
質問者

お礼

回答ありがとうございます。

関連するQ&A