• ベストアンサー

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

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

noname#126193
noname#126193

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

  • ベストアンサー
回答No.1

FNを文字列として扱っていませんか?以下でどうでしょう? Sub 保存() Dim FN As String FN = Range("C2") ActiveWorkbook.SaveAs Filename:="C:\変換ファイル\6月\" & FN & ".xls" End Sub

noname#126193
質問者

お礼

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

その他の回答 (1)

回答No.2

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

noname#126193
質問者

お礼

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

関連するQ&A

  • Excelマクロでエクセルファイルのファイル名を変更して保存、他

    Excel97のマクロを使用して以下の作業を実施したいのですが どなたかご教示お願い致します。 1.フォルダ内の複数ファイルから任意の一つのファイルAを開き、そのファイルA内の任意のセル(1A)の文字列をファイル名にして保存する。 2.あるファイルBを開き、ファイルB内のあるセル(1A)の"文字列が含まれるフォルダ"を検索してそのフォルダ内に保存する。 3.あるフォルダ(\1)内のあるファイルCを開き所要の作業を実施し閉じたあと、そのファイルCを別のフォルダ(\2)へ移動する。 4.あるフォルダ(\3)内のファイルDを開き、ファイルDのファイル名と同じ文字列を含むフォルダ(\4)を検索し、そのフォルダ(\4)内から、 ファイルD内のあるセル(1A)の文字列と同じファイル名のファイルEを検索して開く。 いくつも質問して真に厚かましいですが 解る物だけでも結構ですので 何卒、宜しくお願い致します。

  • EXCELで複数ファイルのセル抽出マクロ

    EXCELで複数ファイルのセル抽出マクロ いつもお世話になっております。 首題の件ですが、複数のEXCELファイル約100個があるフォルダに入っています。 フォーマットは統一されていますが、記載してあることは別です。 特定のセルの内容を抽出し、別のEXCELブックに保存したいと考えております。 例) パス-D:\集計\ ファイル名-統一されていません シート名-アンケート(統一している) 抽出したいセル-A1:A10とC10:C20(結合されているセルもあります) できれば保存するEXCELブックに抽出したA1の全集計結果をA1に、 抽出したC10の全集計結果をC10に保存したいのです。(1ファイルずつ改行を入れて) マクロを検索して調べてみたのですが、自分の環境に合わせてみるとうまく動かなく、 (単に私の勉強不足ですが・・・)お手上げ状態です。 皆様、宜しくお願いします。 また、厚かましく下記にも別件で質問をしております。 お力添え頂ければ幸いです。 http://okwave.jp/qa/q6170791.html

  • エクセル マクロでシート名変更

    Excelで、作成してあるフォーマットに新しく数値をコピーして完成した表を別のブックに移動して保存しようと考えています。その際、シートのA1セルの値を自動的にワークシート名に持ってきたいのですが、やり方が分からず困っています。 シート名のところ以外は、なんとなくマクロの記録を使ってできそうなのですが、A1セルの値を自動的にシート名にすることができずに引っかかっています。 いい方法があれば教えてください。 よろしくお願いいたします。

  • Excelで任意のセルのデータをファイル名に追加して上書き保存するマクロ

    Excelのブックが300個ほどあります。 現在アルファベット4文字のファイル名がついています。 このブックを1つずつ開き、任意のセル(ブックごとに異なる)を選択後ホットキーでマクロを起動し選択したセルの内容をもともとのファイル名に追加して名前を付けて保存したいのです。 例) 元のファイル名:bgf.xls 選んだセル:A4 A4の内容:あいうえお 新しく保存するファイル名:あいうえおbgf.xls 環境はwin2k、Excel2kです よろしくお願いします。

  • エクセルのマクロでファイル名のつけ方

    あるセルの文字列を、マクロで ファイル名にして保存するにはどうしたらよいでしょうか。マクロの知識は記録修正ぐらいしかありませんが、 ご教授お願いします。 実験データが数百ありまして、 それを分割保存したいのです。 分割保存で最後 Sendkeys "%FA"とするところまでは 分かったのですが、できればファイル名もマクロで保存できたらすばらしいのですが。。。

  • 任意のファイルを開くには

    WIN.XP Office2003を使用しています。 質問が3つあります。 Q1.ファイル「都道府県抽出」の「検索」シートのセルA1に入力(このセルの内容は任意で変わる)されている名前と同じファイルのシート2をマクロボタンのクリックで開く。 エクセル内のファイル   ファイル「都道府県抽出」   ファイル「001 北海道」 シート「1」と「2」       「002 青森」  シート「1」と「2」       「003 岩手」  シート「1」と「2」                          以降、全都道府県分のファイルがある  ようするに、「都道府県抽出」ファイルの「検索」シートのA1セルに静岡県が入っている場合は、マクロボタンのクリックで「00* 静岡県」ファイルのシート「2」を開く。 東京都が入っている場合は、マクロボタンのクリックで「00* 東京都」ファイルのシート「2」を開く。 Q2.セルA1に入力されている名称をファイル名として、マクロボタンで名前をつけて保存させる。 Q3.A列に「小計」という文字が入力されていたら、その行(1行すべて)にだけ編み掛けをする。

  • エクセルのマクロでHTMLファイルを出力するには

    エクセルのマクロでHTMLファイルを出力するには 下記アドレスのソースをもとに、エクセルでHTMLファイルを複数出力できたらと考えています。 内容は、sheet1のA列にテキストが入っていると、それを任意のファイル名(ダイアログ)でテキストとして保存が可能になるソースです。 ttp://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_040.html 出来ればこれを以下のように変えたいと考えております。 ●シート名「1」~「50」の計50シートのA列のテキストを、 それぞれのシート名+任意の文字列で保存をしたい。 ●ファイル名の任意の文字列については、シート内のセル (例:sheet1のA4)に記載されている内容としたい。 ●ファイル形式は、HTML形式で保存をしたい。 ●保存先のフォルダは任意のディレクトリ内 (例:C:\Documents and Settings\All Users\デスクトップ)の配下に、 シート内のセル(例:sheet1のA3)に記載されている内容を フォルダ名として、新規に作成し、その中に保存したい。 恐れ入りますが、ご回答よろしくお願いいたします。

  • エクセルのファイル名を任意のセルの内容にしたい

    windows2000、Excel2000の環境です。 ファイル名が数字7桁のブックが約1000個あります。 このブックのファイル名をブックに含まれるセル(最大2つ)の文字列+元のファイル名の数字7桁にしたいのです。 マクロやVBで一括で変換する方法はありませんでしょうか? セルの指定は特定の個所ではなく、ブックごとに違いますので、ブックを1つずつ開いて指定する形になります。 よろしくお願いします。

  • エクセルのマクロを使ってシートごとに名前をつけて保存したい

    マクロ初心者です。宜しくお願いします。 1つのブックにシートが複数あります。 それぞれシートをコピーして新しいブックを作成し そのブックに名前をつけて保存したいです。 例えばブック名が「売上管理」でそのシートが「A店」「B店」「C店」と3シートあるとします。 シート名:A店を他のブックにコピーしてマイドキュメントに名前を付けて 保存する場合のマクロを教えてください。 ちなみにその際のブック名は「シート名+任意のセル(D2)」と できれば一番助かります。 ちなみにD2のセルにはToday関数が入ってます。

  • VBA マクロ セルと同じファイル名を選びたい

    Excelでマクロを組んでいます。 以下のような場合にどのように組めばいいのか、悩んでいます。 是非、ヒントを下さい。 Excelファイル「book1」でマクロを組んでいるとします。 1)book1のセルA1に入力されている文字列と同じファイル名のbookを選択できないか 2)セルA1から順にA2、A3、A4と文字列の入力がないセルまで自動的にセル番地を横へおくり、1)の操作を繰り返すことができないか ちなみに検索対象となるbookはすべて同じフォルダの中に格納されています。 よろしくお願いします。