• ベストアンサー

EXCEL VBAでファイル名取得

A1のセルにユーザー定義で書式設定をしたものをそのファイルの名前にしようと思ってます。 書式は「1」と入力すれば「001」と表示されるようになっています。 そのままセル+".xls"で保存しようとすると、「型がちがいます。」というエラーになり、そのセルを変数にしてvalueで表示すると、そのまま「1.xls」というファイル名になってしまします。 「001.xls」というファイル名にするにはどうしたらよいでしょうか? どなたかよろしければ、回答お願いします。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.3

こんにちは。 Range("A1").Text のようにすれば、001 が返ります。 Sub Test1()  MsgBox Range("A1").Value  MsgBox Range("A1").Text End Sub 従って、下記のようなパスを作ってSaveAsに渡せばOKです。 (例の ThisWorkbook は一度は保存してある前提です) Sub Test2()  MsgBox ThisWorkbook.Path & "\" & Range("A1").Text & ".xls" End Sub

その他の回答 (2)

回答No.2

初めまして. ActiveWorkbook.SaveAs Filename:="C:\My Documents\" & ActiveSheet.Range("A1").Value & ".xls" これを1行で書いて下さい。実行されると思います。 1つ注意しなければならないのは、必ず保存するブックをアクティブにしてこのマクロを動作させてください。そうしないとエラーが出たり、思わぬブックがこの名前になって保存されてしまいます。 もし不都合な点等がありましたらご遠慮なくお知らせ下さい。

回答No.1

format(val(セル.value),"000") & ".xls" とフォーマットを使って編集桁数を指定したらどうでしょうか。

関連するQ&A

専門家に質問してみよう