- ベストアンサー
任意のセルでマクロを実行させたい
- アクティブセルにマクロを実行させる方法についてわかりません。
- 指定されたセル以外でもマクロを実行する方法を教えてください。
- また、マクロをオートシェイプに登録する方法も知りたいです。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
セルをアクティブにした状態でマクロを実行したらそのセルの書式が変わるようにしたいのであれば Range("G9:G11").Select この部分をアクティブセルを基準とした指定に変更すればよい。 Range(ActiveCell, ActiveCell.Offset(2, 0)).Select こんな感じかな?
その他の回答 (5)
- web2525
- ベストアンサー率42% (1219/2850)
>K14でマクロを実行した場合K17にセルが移動して終わる様な。 Range("G12").Select を ActiveCell.Offset(3, 0).Select に変更してください。
お礼
早速の回答ありがとうございます!! Offset(3, 0)の3を 1に変えたらバッチリ出来ました。 とっても助かりました。 ありがとうございました。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは >(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)
場合によっては、シェイプから実行ではなく、 シートのイベントで実行、でもいいかもしれません。 http://excelvba.pc-users.net/fol3/3_6.html
- lisblanc
- ベストアンサー率0% (0/1)
まず、Range("G9:G11").Select と書いているところを J9:J11の範囲に修正します。 このアクティブセルから 相対で座標が記述されている箇所は修正不要です。 最後の Range("G12").Select も、 J11 に修正した方が良いでしょう。 もし、3箇所とも続けて実行するのであれば、いちいち最後の Range("G12").Select は書かずとも良いでしょう。
- marbin
- ベストアンサー率27% (636/2290)
同時に行いたい、ということでしょうか? それとも、セル範囲を変えるにはどうすればいいのか? ということでしょうか? なお、シェイプで行うなら、 シェイプを右クリック ↓ マクロの登録 でマクロを選択してOK で出来ます。
補足
回答ありがとうございます。 貼り付けて実行したら思っていたとおりに動いてくれました。 ただ、最後のRange("G12")なのですが、 マクロを実行させたその下のセルに移動する様には出来ないでしょうか? 例えばこの命令文の中で1列3行のセルを結合させているのですが、 K14でマクロを実行した場合K17にセルが移動して終わる様な。 よろしくお願いいたします。