Excel2010です。
今、book1の各シート(ここでは"S1"で特定していますが、たとえばs1、s2、s3の3つがあるとします。)の左上隅「X」マークを右クリックすると出てくる「コードの表示」に以下の内容を記録しています。
-------------
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "s1" Then Exit Sub
Worksheets("s1").Range("e6") = Sh.Range("an7")
Worksheets("s1").Range("e9") = Sh.Range("bj7")
Worksheets("s1").Range("e10") = Sh.Range("br7")
End Sub
-------------
これをbook1のマクロ本体の実行によってbook1のシート"s1"を含むいくつかのシートのあるコピーbook2に、同じようにマクロでこの「Private Sub」をコピーしたいと思っています。どのようのすればいいでしょうか。
よろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんにちは。
Microsoft Visual Basic for Applications Extensibility の参照設定をしてやる方法もあるのですが、今どき、マクロをマクロで書き換えたり、コピーするという程度でウィルス・ライクとかいうのは程度問題ですが、やっぱり、今どきになっても、掲示板の中では「禁じ手」として暗黙の了解になっているわけです。
ただ、実際、私から言わせると、そういうコードは汚いし、低能なマクロなのですね。
インターネットで調べれば、ここに書かなくても出てくるし、VBAなんかを使わなくても、Windowsマクロを使えば、そんなコードを書かなくても、セキュリティも関係なく簡単にコードを貼り付けることも可能です。(Windowsマクロは、簡単なコードで可能です)
お見かけした内容では簡単なコードのようですから、VBAで行うなんて、難題を言わないで、コードを、VBEditor を開いて、コピペしていけば、10数個レベルでしたら、そんなに面倒な作業ではないと思います。
>「book1にはbook2を作るメインのマクロがあり、それを実行する一連の動作の中で、上記のことをやりたい」
この質問は、意味が通じていないのです。Book1が、Book2を作る?
それらしいものを考えると、Class で、インスタンスを設けておけば、一応、同じ動きします。仮想のマクロを貼り付けてあげるわけです。難しいものにしてしまいます。
他にもアドインという手はあるのですが、それも状況によりますね。
ところで、
>Private Sub Workbook_SheetActivate(ByVal Sh As Object)
> If Sh.Name = "s1" Then Exit Sub
> Worksheets("s1").Range("e6") = Sh.Range("an7")
> Worksheets("s1").Range("e9") = Sh.Range("bj7")
> Worksheets("s1").Range("e10") = Sh.Range("br7")
>End Sub
なぜ、このコードで、イベントが必要なのでしょうか。
s1以外のシートを開けたら、s1の一定のセルに上書きしていくだけで、Book自体の特定化もされていません。とすれば、ひとつのマクロで済むような気がします。
(Excel2010では、Personal.xlsmに置けばできるのではないかと思います。)
No.2
- 回答日時:
>よくわかりません
そうですか。ではアナタの直接の投稿は、コンピュータウィルスの作り方を質問しているのと同じ、非常識な質問なんだと承知してください。
>一連の動作の中で、上記のことをやりたい
出来る方法はお話ししましたが、コピーして使えるマクロを教わるには情報提供が足りていません。
でも何もわからない割には「ブック1にはブック2を作るメインのマクロがあり」とかなので、まぁ「言ってるだけ」なんだろうなと判断するわけです。
あなたの「ブック2を作るメインのマクロ」を編集せずにそのままコピー貼り付けして、新しいご相談として投稿してください。
そしたらそれにどう追記したり修正したらいいか、回答しましょう。ちゃんと情報提供すれば、私じゃなくても誰でもさくっと教えてくれます。
No.1
- 回答日時:
>マクロをマクロを使ってコピーしたい
そもそもマクロを使ってマクロをコピーしたり取り付ける操作は、勿論やり方はありますが、そのままマクロウィルスの技法につながるので、ここのような公開の掲示板ではあまり触れない話題です。
また今のエクセルでは、安全のために、マクロを操作するマクロは動作禁止の設定になっています。
このセキュリティを解除してもよいときは、手動操作で、エクセルのオプションからセキュリティセンターの設定で「VBAプロジェクトオブジェクトモデルのアクセスを信頼する」のチェックを入れます。
>book1のシート"s1"を含むいくつかのシートのあるコピーbook2に、同じようにマクロでこの「Private Sub」をコピーしたい
ご相談の事は「マクロをコピーする」のではなく、次の手順で安全に実現できます。
1.オリジナルのブック1を名前を付けて保存などで「ブック1のコピー」として丸ごと別に保存する
2.ブック1のコピーに、ブック2から必要なシートや必要なデータなどをコピーしてくる
以上の動作は、手動でも、もちろんマクロを使っても出来ます。
早速にお返事をいただきましてありがとうございます。小生、基礎知識・予備知識も皆無に等しいもので、よくわかりません。やりたいことは、
「book1にはbook2を作るメインのマクロがあり、それを実行する一連の動作の中で、上記のことをやりたい」わけです。
具体的な記述を教えていただければ助かります。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) Excel VBAでの右クリックのポップアップメニューの非表示方法は? 1 2023/04/12 17:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
このQ&Aを見た人はこんなQ&Aも見ています
-
とっておきの「夜食」教えて下さい
真夜中に小腹がすいたときにこっそり作るメニュー、こっそり家を抜け出して食べに行くお店… 人には言えない、けど自慢したい、そんなあなたの「とっておきの夜食」を教えて下さい。
-
「平成」を感じるもの
「昭和レトロ」に続いて「平成レトロ」なる言葉が流行しています。 皆さんはどのようなモノ・コトに「平成」を感じますか?
-
忘れられない激○○料理
これまでに食べたもののなかで、もっとも「激○○」だった料理を教えて下さい。 激辛、でも激甘でも。 激ウマ、でも激マズでも。
-
プリン+醤油=ウニみたいな組み合わせメニューを教えて!
プリンと醤油を一緒に食べると「ウニ」の味がする! というような意外な組み合わせから、新しい味になる食べ物って色々ありますよね。 あなたがこれまでに試した「組み合わせメニュー」を教えてください。
-
好きな和訳タイトルを教えてください
洋書・洋画の素敵な和訳タイトルをたくさん知りたいです!【例】 『Wuthering Heights』→『嵐が丘』
-
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
VBA This Workbookモジュールを別ファイルにコピーする方法
Visual Basic(VBA)
-
エクセルのvbaにて thisworkbookに記載のマクロを他のブックにマクロにて自動コピー出来る
Excel(エクセル)
-
-
4
エクセルVBAで作成した別ブックにVBAを記述したい
Access(アクセス)
-
5
エクセル ボタンに設定したマクロごとボタンをコピー
Excel(エクセル)
-
6
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
7
マクロを消すマクロは不可能?
Excel(エクセル)
-
8
マクロの「SaveAs」でエラーが出るのを解消したいです(再)
Visual Basic(VBA)
-
9
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
10
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
11
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
12
VBA シートをコピー後、ボタンにマクロ登録
Excel(エクセル)
-
13
XL:BeforeDoubleClickが動かない
その他(プログラミング・Web制作)
-
14
ユーザーフォームのコピー?
Excel(エクセル)
-
15
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
16
(Excel VBA)シートコピー時マクロはコピーしたくない
Excel(エクセル)
-
17
マクロでマクロを削除する
Excel(エクセル)
-
18
ExcelVBAで、ユーザーフォームを新規Bookにコピーしたい
IT・エンジニアリング
-
19
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
20
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel マクロの編集がグレーに...
-
WPSOffice_マクロの有効化について
-
エクセル ボタンに設定したマク...
-
エクセル マクロ名にブック名...
-
Excelのマクロでボタンを押すと...
-
オートシェイプに名前を付け名...
-
エクセルの表を複数枚印刷した...
-
別シートのマクロボタンをマク...
-
Excelマクロで、稼働中のマクロ...
-
エクセルでマクロ(Excel 4.0)...
-
エクセルマクロで、別のブック...
-
他のBOOKにマクロを反映させな...
-
エクセルで、「いいね」のよう...
-
複数のマクロボタンをまとめて...
-
エクセルの、記録を終了したマ...
-
使用期限付のエクセルの作成方法
-
マクロをマクロを使ってコピー...
-
Ctrl+Zが使えない
-
エクセル起動時、ActiveXコント...
-
エクセルで明日の日付を表示す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WPSOffice_マクロの有効化について
-
Excel マクロの編集がグレーに...
-
エクセル ボタンに設定したマク...
-
エクセル マクロ名にブック名...
-
Excelのマクロでボタンを押すと...
-
エクセルの表を複数枚印刷した...
-
エクセルで、「いいね」のよう...
-
Excelマクロで、稼働中のマクロ...
-
エクセルの、記録を終了したマ...
-
複数のマクロボタンをまとめて...
-
エクセルでマクロ(Excel 4.0)...
-
エクセルマクロで、別のブック...
-
Excelのマクロ名の並び順の法則...
-
エクセルで明日の日付を表示す...
-
別シートのマクロボタンをマク...
-
(Excel VBA)シートコピー時マ...
-
マクロをマクロを使ってコピー...
-
Excel:マクロを消す方法教えて...
-
なぜマクロの記録がなくなって...
-
リーグ戦(10チーム2コート)作...
おすすめ情報