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

解決済みの質問

EXCEL VBAでファイル名取得

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

投稿日時 - 2002-10-31 23:11:58

QNo.394294

すぐに回答ほしいです

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

こんにちは。

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

投稿日時 - 2002-11-01 00:11:21

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

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

回答(3)

ANo.2

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

もし不都合な点等がありましたらご遠慮なくお知らせ下さい。

投稿日時 - 2002-10-31 23:51:03

ANo.1

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

投稿日時 - 2002-10-31 23:28:44

あなたにオススメの質問