- ベストアンサー
新しいマクロの記録でコピーしたsheet
新しいマクロの記録でシート2のA1~C3までの値をクリアして、シート1のA1~C3までの値を貼り付ける事を記録しました。それを●の図形にマクロの登録をして、●を押すとそれが実行されるようにしました。ここまでは問題なかったのですが、次にシート2をコピーしてシート3という名前にしてシート3の●を押すとシート2にこのマクロが実行されますが、これをシート3で実行させる事はできないでしょうか?昨晩、いろいろやってみましたが、どうしてもわかりません(>_<;)・。どなたか、よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
まぁ,ひっくり返っても出来ないことは出来ない場合も確かにありますが,ご相談の範疇に関して言えば工夫の範囲内です。 >シート2のA1~C3までの値をクリアして、シート1のA1~C3までの値を貼り付ける事を記録しました 手順: シート2を開いた状態で,新しいマクロの記録を開始する A1:C3を選ぶ Deleteキーでクリアする(続く操作により,実はこの手順は不要) A1:C3が選ばれている状態を崩さないよう注意しながら, かつA1セルがアクティブセルになっている事を確認してから, 数式バーに =Sheet1!A1 を記入し, コントロールキーを押しながらEnterする A1:C3に所定の数式が記入されたことを確認する A1:C3が選ばれている状態を崩さないよう注意しながら, A1:C3をCtrl+Cでコピーする その場で型式を選んで貼り付けの値のみ貼り付ける 必要に応じてA1セルをクリックする 必要に応じてESCキーを押してコピーのテカテカを解除する マクロの記録を終了する 図形にマクロを取り付け,図形やセルを別シートにコピーして実行してみる。 以上です。
その他の回答 (3)
- Wendy02
- ベストアンサー率57% (3570/6232)
#2様のおっしゃるとおりで間違いないのですが、出来なければ、もう一度、記録マクロを作って、それを図形に登録してください。それが早いです。技術の違いはやむを得ないことです。無理に実現させようとしても、ひとつで共有化にするには、記録マクロに限界があります。今の段階では、どうしようもないはずです。 >シート2をコピーしてシート3という名前にしてシート3の●を押すと でも、これは本では載っていませんが、ここで、プロシージャも共有出来るという思うのはやめたほうがよいです。だから、基本的に「出来ない」と思ったほうがよいです。一つずつ、マクロを図形から登録してください。 共有型のマクロ--ただし、Sheet1(Sheets(1) では使えません。 また、ブック間では、そのままではコピー出来ません。 Sub ShapeButtonMacro() With ActiveSheet If .Index = 1 Then Exit Sub .Range("A1:C3").ClearContents ActiveSheet.Previous.Range("A1:C3").Copy .Range("A1") End With End Sub
お礼
やはり、その方法しかないようですね… ありがとうございました。
- nattocurry
- ベストアンサー率31% (587/1853)
マクロ自体も複製して、シート2に対応する部分をシート3に、シート1に対応する部分をシート2に書き換えましょう。
お礼
やはり、その方法しかないようですね… ありがとうございました。
- pp300a
- ベストアンサー率12% (11/87)
そりゃそうでしょ 記録したものと同じ条件で実行するわけだから 条件が異なれば希望するとうりにはいかないのがマクロの自動記録 VBEを起動して コードを書き換えなければ思うようにはなりません VBEって何? っていうレベルならば 対応するのは無理です 本を買って勉強しましょう それなりに取り組まないと覚えることはできません
お礼
やはり無理なようですね… ありがとうございました。
お礼
ありがとうございました!!