• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:任意のセルでマクロを実行させたい)

任意のセルでマクロを実行させたい

このQ&Aのポイント
  • アクティブセルにマクロを実行させる方法についてわかりません。
  • 指定されたセル以外でもマクロを実行する方法を教えてください。
  • また、マクロをオートシェイプに登録する方法も知りたいです。

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

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

セルをアクティブにした状態でマクロを実行したらそのセルの書式が変わるようにしたいのであれば Range("G9:G11").Select この部分をアクティブセルを基準とした指定に変更すればよい。 Range(ActiveCell, ActiveCell.Offset(2, 0)).Select こんな感じかな?

momotan_go
質問者

補足

回答ありがとうございます。 貼り付けて実行したら思っていたとおりに動いてくれました。 ただ、最後のRange("G12")なのですが、 マクロを実行させたその下のセルに移動する様には出来ないでしょうか? 例えばこの命令文の中で1列3行のセルを結合させているのですが、 K14でマクロを実行した場合K17にセルが移動して終わる様な。 よろしくお願いいたします。

その他の回答 (5)

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

>K14でマクロを実行した場合K17にセルが移動して終わる様な。 Range("G12").Select を ActiveCell.Offset(3, 0).Select に変更してください。

momotan_go
質問者

お礼

早速の回答ありがとうございます!! Offset(3, 0)の3を 1に変えたらバッチリ出来ました。 とっても助かりました。 ありがとうございました。

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

こんにちは >(1)命令文で指定しているセル(G9:G11)をJ9:J11やR14:R16等でも使用したい。 ActiveCell を、G9 とか、J9 に指定して、マクロを実行すればよいです。 '標準モジュール Sub Enter1()   With ActiveCell.Resize(3)     .ClearContents     .MergeCells = True     .HorizontalAlignment = xlCenter     .VerticalAlignment = xlCenter     .Orientation = xlVertical     .Value = "搬入"     .Interior.Color = 16777164   End With End Sub >(2)また作成したマクロを同シート内オートシェイプに登録したい。 一般的にマクロは、コマンドボタンに登録します。 オートシェイプでも可能ですが、右クリックで、マクロに登録してください。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.4

場合によっては、シェイプから実行ではなく、 シートのイベントで実行、でもいいかもしれません。 http://excelvba.pc-users.net/fol3/3_6.html

  • lisblanc
  • ベストアンサー率0% (0/1)
回答No.2

まず、Range("G9:G11").Select と書いているところを J9:J11の範囲に修正します。 このアクティブセルから 相対で座標が記述されている箇所は修正不要です。 最後の Range("G12").Select も、 J11 に修正した方が良いでしょう。 もし、3箇所とも続けて実行するのであれば、いちいち最後の Range("G12").Select は書かずとも良いでしょう。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

同時に行いたい、ということでしょうか? それとも、セル範囲を変えるにはどうすればいいのか? ということでしょうか? なお、シェイプで行うなら、 シェイプを右クリック ↓ マクロの登録 でマクロを選択してOK で出来ます。