みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

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

解決済みの質問

エクセルマクロで任意のファイル名をつけて保存したい

 エクセルVBAについての質問です。
 エクセルのマクロで、Aというファイルを開いて、そのうち必要なワークシートだけを抽出し、新しいブックに移動し、その新しいブックを新しいブックのsheet1のセルC2の文字列をファイル名として保存するようなマクロをくみたいと思っています。
 ファイルを開いて必要なワークシートだけを抽出し、新しいブックに移動するところまではできましたが、新しいブックのセルC2の文字列をファイル名として保存することができません。FNを変数として宣言して、C2の文字列を代入し、FNをファイル名として保存しようとすると、ファイルにFNという名前が付いてしまいます。どうすれば、C2の文字列をファイル名として保存できるのでしょうか。なお、保存するフォルダはc:\変換ファイル\6月です。どなたか教えてください。よろしくお願いします。

投稿日時 - 2001-07-31 17:23:05

QNo.111940

困ってます

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

FNを文字列として扱っていませんか?以下でどうでしょう?


Sub 保存()

Dim FN As String
FN = Range("C2")
ActiveWorkbook.SaveAs Filename:="C:\変換ファイル\6月\" & FN & ".xls"
End Sub

投稿日時 - 2001-07-31 17:41:09

お礼

見事に、今まで必ずデバックがでていたのが嘘のようにできました。本当にありがとうございました。
 今回はおかげさまでできるようになりましたが、HitomiKuroseさんの回答でちょっと分からない点があるのですがまた質問させていただいてよろしいでしょうか。
 今までの自分のステートメントと比べると&がついている点が違っているのですが、&はどのような意味を持っているのでしょうか。あと、FNには文字列(例えば企業名など)が入るので、文字列として扱っていたのですが、それではまずいのでしょうか。もしよろしければ、ご回答寝返ればと思います。
 今回はありがとうございました。

投稿日時 - 2001-07-31 22:58:13

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

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

回答(2)

ANo.2

&は素直に連結です。

FNの中身は文字列ですが、FN自身は変数なのに
"C:\変換ファイル\6月\FN.xls"
などと書くとFNと云う文字列として扱われる(""の中は文字列)ので変数としてのFNの中身が反映されません。
回答した方法ですと、FNは""の外にあるので変数として認識され、中身が反映します。

投稿日時 - 2001-08-01 09:04:16

お礼

 お礼が遅くなって申し訳ありません。
 "" や&の使い方が全然わかっていなかったようです。大変、勉強になりました。どうもありがとうございました。

投稿日時 - 2001-08-04 18:12:20

あなたにオススメの質問