• ベストアンサー

エクセルのマクロについて教えて下さい

エクセルで、データ(書類)のコピー貼り付けのマクロを組みました。 ツール→マクロで、新しいマクロの記録から、実際にコピーをして貼り付けをし、記録の終了をしました。 次に他のセルの場所でもそのマクロを実行して、何度も場所を変えてコピー貼り付けを実行したいのですが、操作用のボタンを作成して貼り付け、ボタンを押すと、同じ場所でコピー貼り付けを繰り返します。 たしか絶対参照とか相対参照とかあったような気がするのですが…。 どうすれば、他の場所でもボタンを押すだけでコピー貼り付けのマクロを実行できるようになりますか? よろしくお願いします。

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

  • ベストアンサー
  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.2

>標準モジュールというのが見当たらないのですが>< >左側の小さな窓のところにあるのでしょうか…。 そうですね、左側の小さな窓の上段にあるはずなのですが・・・・ 見つけられない場合は、【ツール】⇒【マクロ】⇒【マクロ】と開き、編集したいマクロを選択した上で、【編集】をクリックしても表示されます。 マクロの記録で作成されたマクロは記録された動作をそのまま実行するものなので、【絶対参照】【相対参照】を行う場合や、貼り付け位置の指定を行いたい場合は、コードを修正する必要があります。

hisoft39
質問者

お礼

回答ありがとうございました。 編集のところで、表示できました。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 >次に他のセルの場所でもそのマクロを実行して、何度も場所を変えてコピー貼り付けを実行したいのですが、 これだけの内容では、マクロ化するのはむずかしのではないでしょうか?そのままの言葉を実現しようとすると、非常に高度な内容になってしまいます。 決まった場所を指定してコピー&ペーストを行うならともかく、任意の場所というのは、ボタンを押して、というわけには行かなくなると思います。もし任意の場所で対話式というのは、タイミングがずれるので、あまり使い勝手がよいとはいえません。 >操作用のボタンを作成して貼り付け、ボタンを押すと、同じ場所でコピー貼り付けを繰り返します。 それがマクロです。決められた仕事を行うもので、相対参照式のマクロというのは、記録マクロとしては存在するけれども、あまり書きません。 要するに、Excel VBAでは、Selection というものをそれほど多くは使いません。 質問に書かれた内容の範囲でしたら、残念ですが、ショートカットキーで十分なような気がします。 なお、標準モジュールは、VBEditor から、挿入-標準モジュール(Module1, Module2...) クリックで、画面が現れてきますが、コントロールツール・ボタンの場合は、もともと、シート属性ですから、シートモジュール側に付けます。コントロールツール・ボタンを編集モードの状態で、ダブルクリックすれば、規定の画面に切り替わります。 フォームモジュールなら、標準モジュールで、マクロの登録で設定します。

hisoft39
質問者

お礼

詳しいお答えありがとうございました。 簡単にやろうとするほど難しい設定が必要になってくるんですね。 もっとこれから色々と勉強します。 とても参考になりました。

回答No.1

Alt+F11でVBAを起動して標準モジュールをダブルクリックして ソースを目的の処理になるように編集します。 例) Selection.Copy Selection.Offset(2, 1).Select ActiveSheet.Paste これなら下に2、右に1の相対位置に常にコピーするマクロの完成 細かいことはマクロ辞典を一冊購入されることをオススメします。

hisoft39
質問者

お礼

回答ありがとうございました。 すみません、標準モジュールというのが見当たらないのですが>< 左側の小さな窓のところにあるのでしょうか…。 初心者ですみません(TT)

関連するQ&A