• 締切済み

エクセル セル内容をファイル名に

はじめまして。 今現在エクセルにていくつかのセル内容を結合しています。(ファイル名用として) その中には日付をTEXT(A1,yy.mm.dd)としSUBSTITUTE(A2,"/",".")でスラッシュをピリオドに 変換してるセルもあります。 ボタンを作り押したときにそのセルを読み込み、ファイル名にしているのですが 読み込まれた内容にダブルコーテーションがついてしまいます。 「”ファイル名”」の様になってしまい、そのまま保存を押すと .xlsが付かず困っております。 ちなみにボタンに入れてあるマクロは Private Sub CommandButton1_Click() Application.Dialogs(xlDialogSaveAs).Show Arg1:=Range("AK14").Value End Sub です。 どなたかご教授頂けませんでしょうか。。。 宜しくお願い致します。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.1

質問で言っていることが判らない。 >日付をTEXT(A1,yy.mm.dd)としSUBSTITUTE(A2,"/",".")でスラッシュをピリオドに、 なぜ直接 =TEXT(A1,"yy/mm/dd")(=TEXT(A1,yy/mm/dd)は間違いだろう。正確に書くこと)ににしないのか -- しかしファイル名には使えない記号があるよ。 >したときにそのセルを読み込み どのセル?AK12か。はっきり書くこと。AK12のデータはどうなっている? Private Sub CommandButton1_Click() Application.Dialogs(xlDialogSaveAs).Show Arg1:=Range("B1").Value End Sub でコマンドボタンクリック。A1には2011/12/1、B1には=TEXT(A1,"yymmdd")で111201 ダイアロウグの「保存」クリクでうまく行ったが。111201.xls Google照会「ブック名 使える文字」でhttp://support.microsoft.com/kb/879749/ja など関係ないかな(スラッシュは不可)。

Tomfang
質問者

補足

ありがとうございます。 確かに分かりにくいですね。。。 下記に書き直します。 AK14=CONCATENATE(B1,B2,A3)になっているとします。 A1には単に日付が入る場合と1/1~1/31があります。 1/1のみの場合A2=TEXT(A1,"yy.mm.dd")にて「11.01.01」になる為ファイル名として利用可能です。 が、1/1~1/31の場合上記の=TEXTでは変換できない為 A3=SUBSTITUTE(A2,"/",".")とし「1.1~1.31」変換しています。 とりあえずここまではOKなのです。 この質問の後、多少調べましたがA2=TEXTにて文字列に指定しているのが問題のようです。 AK14=CONCATENATE(B1,B2)の様にA2=TEXT()を結合しなければダイアログにてダブルコーテーションはでません。 なので文字列に変換したものをまた標準に戻せれば良いというところまでは分かったので、そこをご教授頂ければと思います。 宜しくお願い致します。

すると、全ての回答が全文表示されます。

関連するQ&A