- ベストアンサー
EXCEL VBAでファイル名取得
A1のセルにユーザー定義で書式設定をしたものをそのファイルの名前にしようと思ってます。 書式は「1」と入力すれば「001」と表示されるようになっています。 そのままセル+".xls"で保存しようとすると、「型がちがいます。」というエラーになり、そのセルを変数にしてvalueで表示すると、そのまま「1.xls」というファイル名になってしまします。 「001.xls」というファイル名にするにはどうしたらよいでしょうか? どなたかよろしければ、回答お願いします。
- みんなの回答 (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)
- kazuhiko5681
- ベストアンサー率49% (79/159)
初めまして. ActiveWorkbook.SaveAs Filename:="C:\My Documents\" & ActiveSheet.Range("A1").Value & ".xls" これを1行で書いて下さい。実行されると思います。 1つ注意しなければならないのは、必ず保存するブックをアクティブにしてこのマクロを動作させてください。そうしないとエラーが出たり、思わぬブックがこの名前になって保存されてしまいます。 もし不都合な点等がありましたらご遠慮なくお知らせ下さい。
- tinu 2000(@tinu2000)
- ベストアンサー率40% (147/367)
format(val(セル.value),"000") & ".xls" とフォーマットを使って編集桁数を指定したらどうでしょうか。