アプリ版:「スタンプのみでお礼する」機能のリリースについて

マクロ(Excel2007)を他のファイルで使う方法(マクロ初心者です。)

Excel2007の「4月」というファイルに印刷ボタンが作られており、
以下のマクロが登録されていました。

Sub 非表示(2)()
'
' 非表示(2) Macro
'

'
Rows("130:193").Select
Selection.EntireRow.Hidden = True
ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
Selection.EntireRow.Hidden = False
Range("A1").Select
End Sub

「4月」ファイルを新しく「5月」ファイルとして名前を付けて保存したのですが、
どうやら、マクロ有効ブックとして保存していなかったらしく、
マクロが消えてしまっていました。

「5月」ファイルの印刷ボタン(オブジェクト)を選択して
 右クリック→マクロの登録
から、「4月」ファイルの当該マクロを選択して登録したところ、
「5月」ファイルの印刷ボタンを押すたびに「4月」ファイルが開いてしまいます。

これは、「4月」ファイルに保存されているマクロを読みにいってしまっているから。
ということになるのでしょうか?

このマクロを「5月」ファイルに保存して使用するにはどのようにすればよいか、
教えて頂ければ幸いです。

A 回答 (3件)

ご質問の直接の回答としては


4月ブックを開く
5月ブックも開く
ALT+F11を押す
現れた画面でプロジェクトエクスプローラを見る
VBAProject(4月.xlsm)の中を開くとModule1などのような名前のモノが入っているので,
そのままVBAProject(5月.xlsm)にドラッグすると引っ越せる
ブックに戻り,5月のボタンにマクロの登録で5月のブックのマクロを設定する
と出来ます。

でもそんなマニアな事をしなくても,
1.4月ブックを開く
2.名前を付けて保存で5月のブックの名前で保存し直す
  勿論マクロ有効ブックにして保存すること
3.5月の本番データを新調した5月ブックにコピーして貼り込む
以上で十分です。今後さらに6月や7月ブックを増やしていくときも同じです。
    • good
    • 0
この回答へのお礼

ありがとうございました。
無事に引越ができました。

ちなみに、質問はかなり簡略化してますので、
後半部分はもちろん考えたのですが、
他にも色々と要素があってダメだったのです。

お礼日時:2010/06/02 22:23

マクロを他のファイルで使うことが出来ます。

新ファイルで空のマクロを作っておいて、次に既存のマクロをコピーして、新マクロの編集のステージで貼り付けをします。そして新マクロを必要ならば手直しをします。これでいいはずです。
    • good
    • 0
この回答へのお礼

ありがとうございました。
この方法もマスターしました。
今後活用させて頂きます。

お礼日時:2010/06/02 22:25

>このマクロを「5月」ファイルに保存して使用するにはどのようにすればよいか、


理屈では、「5月」に保存すればよいようですが、本来、マクロとファイルは別でもよいわけです。

ファイルの印刷ボタン(オブジェクト)に共有のマクロにする場合は、
「個人用マクロブック」の標準モジュールに当該マクロを貼り付けて、
ボタンに、そのマクロを選んでください。

たぶん、そのマクロは、フォームツールのボタンを使っているはずです。しかし、クイックツールアクセスバーをカスタマイズして、マクロを登録してあげる方法もあります。そうしたら、ボタン自体をコピーする必要もなくなります。

「個人用マクロブック」は、記録マクロを作る時に、[マクロの保存先]に、個人用マクロを選択してあければ、自動的にファイルが作られます。
    • good
    • 0
この回答へのお礼

ありがとうございました。

なるほどですね。
共有ファイルなので複数の人間がアクセスしますので、
全員が同様にアイコンの設定をしなければなりませんが、
そうすると、エクセルの各ファイルそのもののサイズダウンが図れますよね?
今回の質問ぐらいのマクロならたいしたことありませんが、
これはうまく使えればかなり有効な気がします。

お礼日時:2010/06/02 22:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!