こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VBA ファイルの保存方法

hiroです。
Excel Aファイルを「名前を付けて保存」で、Bというファイル名で保存し、かつ
Aファイルをそのまま開きっぱなしにしたいのですが、方法がわかる方教えてください。
通常、「名前を付けて保存」後、Bファイルが即座に開かれて、Aファイルが閉じてしまいます。

理由
(1)Aファイルは閉じたくない、保存したくない (マクロ、セル関数付)
(2)Aファイルのマクロ動作後の情報をファイルBとして保存し、ファイルAはそのままにしたい
(3)Bファイルはマクロ削除、セル関数はB側で持ちたい
 → シートのコピーはセル関数がA側になってしまうので、使用できない

わかる方がいらっしゃいましたら、教えてください。よろしくお願いします。

環境
Microsoft XP
Excel 2003

投稿日時 - 2011-06-04 08:01:37

QNo.6785035

すぐに回答ほしいです

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

セル関数とはエクセル標準のワークシート関数だけでしょうか?
標準モジュール等が不要なら、必要なシートを新しいブックにコピーして名前をつけて保存する操作をマクロ記録することで基本的なコードを入手できます。

若干様子が違うかもしれませんが「自ファイルの分割保存」に関する質問した経験があるので参考URLとしますね。

参考URL:http://okwave.jp/qa/q5602398.html

投稿日時 - 2011-06-04 09:49:30

お礼

参考URL見ました。
必要なシートを新ブックにコピーという方法を考えましたが、
確認したところ、大きな勘違いをしていたことに気づきました。
Bファイルにシートコピーしたとき、
セル関数が
=[Aファイル]Sheet1!$A$1
になると勘違いしていました。

=Sheet1!$A$1という風になるんですね。
シートコピーで対応できそうです。
ありがとうございます。

投稿日時 - 2011-06-05 01:24:21

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

>  → シートのコピーはセル関数がA側になってしまうので、使用できない

この意味がわからないのですが
以下のページの方法では駄目でしょうか

マクロを除いた配布用ブックを作成する。
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_800_200.html

投稿日時 - 2011-06-04 10:54:42

お礼

回答ありがとうございます。
Bファイルにシートコピーしたとき、
セル関数が
=[Aファイル]Sheet1!$A$1
になると勘違いしていました。

シートのコピーはセル関数がA側になってしまうというのは
上記の意味です。言葉足らずですみません。

シートコピーとマクロ削除で、対応できそうです。
ありがとうございます。

投稿日時 - 2011-06-05 01:27:20

ANo.1

名前を付けて保存は、現在のファイルを別のファイルとして保存する(リネーム)です。
閉じるのではなく、別のファイルになるのです。
シートのコピーができないのなら、

最初から、ファイルAをファイルBにコピーしておいて、ファイルBでマクロを実行。
実行後、マクロを削除する

これでいかがですか?

投稿日時 - 2011-06-04 08:14:24

お礼

早速の回答ありがとうございます。
ファイルBを実行後、マクロを削除すると、
また、再度、マクロが実行できないため、Aを開きなおす必要があります。
ロジック的にはできそうですが、ちょっと複雑になりそうです。
でも、こういった方法は思いつきませんでした。

投稿日時 - 2011-06-05 01:16:10

あなたにオススメの質問