- ベストアンサー
EXCEL VBAでファイル名取得
- みんなの回答 (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/366)
format(val(セル.value),"000") & ".xls" とフォーマットを使って編集桁数を指定したらどうでしょうか。
関連するQ&A
- エクセルVBA セルの書式につい
ユーザーフォームのテキストボックスに入力した日付(yyyy/mm/ddの形式)をA1セルに入れるとします。 Range("A1").Value = Me.txt日付 A1セルの表示形式は書式設定でユーザー定義の"d"で表示されるように設定していますが、 テキストボックスに入力した形式のまま(yyyy/mm/dd)でA1セルに表示されてしまいます。 上記のみではNGでしょうか? ちなみに、yyyy/mm/ddと入力されたA1セルを一旦編集モード([F2]キーを押した状態)にして[Enter]を押すと"d"(書式設定で指定している書式)に変わります。 参考:A1セルの日付をみて別シートの一覧からVlookup関数で値を検索したいところが、yyyy/mm/ddで表示されるためにエラーとなってしまいます) ご存知の方教えていただきたいです。
- ベストアンサー
- Visual Basic
- エクセルVBAで、PDFファイルを開きたい
セルに入力した値のブック(xls)を開く場合、 以下となりますが、↓ Sub セルに入力したブック名のブックを開く() ブック名 = Cells(1, 2) 'B1セルの値を取り出す Workbooks.Open Filename:=ブック名 & ".xls" '指定されたブックを開く End Sub これでPDFファイルを開きたいです。 記述をどうしたらよいでしょうか。 目的はPDFファイルの検索/照会をxlsにてしたいのです。 お手数ですがお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルの書式設定の「#」
エクセル2002の書式設定についてですが、セルの書式設定の「表示形式」で「ユーザー定義」にします。そして種類のところには「#」と入れました。 セルに「999」と入力すると「999」と表示されました。 ところが「ユーザー定義」の種類のところには「#,」と入れました。 するとセルに「999」と入れても「1」と表示されます。 またセルに「9999」と入れたら「10」と表示されました。 これはどうしてでしょうか?
- ベストアンサー
- オフィス系ソフト
- excelで0が13個貼り付け
excel2000で 000000000000(←0が13個)とセルの書式設定、ユーザー定義で設定しているセルがあります。 このセルをコピーして、貼り付けるときの方法について相談です。 excel2000で 000000000000(←0が13個)とセルの書式設定、ユーザー定義で設定しているセルがあります。 たとえば、このセルに0と入力すれば、000000000000(←0が13個)と表示されるのですが、 このセルをコピーして、ユーザー定義が文字列のセルに貼り付けていのですが、どうしても0としか貼り付けられません。 ユーザー定義が文字列のセルにも、000000000000(←0が13個)と貼り付けられるようにするにはどうすればいいでしょうか
- ベストアンサー
- オフィス系ソフト
- エクセル97で
エクセルで、0104と入力すると2001/4となるようにするには、書式→セル→表示形式→日付orユーザー定義ですよね。 ここで定義しても1900/4となってしまいます。なぜでしょう??
- ベストアンサー
- Windows 95・98
- EXCEL VBAのファイルオープンについて
1列のセルそれぞれに同フォルダのファイル名が入力されていて(ファイル数は変化する)それを、一度に開くか、もしくは1つずつ開いていくかの構文で悩んでいます。ファイル数が特定されていないので、Do Untilでカウンタ変数をたててしているのですが、1つ目のファイルは開くのですが、後のファイルがエラーになってしまいます。 説明がうまくできていないかもしれませんが、もしわかりましたら、是非教えてください。
- ベストアンサー
- Windows NT・2000
- エクセルの書式設定
エクセルのセルの表示が#VALUE!になるのでたどっていったところ、あるセルの書式設定に問題があるようなのです。 そこで、書式を数値に直したいのですが、通常、「数値」の場合には、表示されないはずなのですが、今回、表示されるサンプルに、かつてユーザー定義で入れたと思われる"歳"が表示されたままで、どうにもならず、これが原因と考えられます。 なぜこのようなことが生じるのか、また、どうすれば解消できるのか、 ご存知の方、教えてください。
- 締切済み
- SE・インフラ・Webエンジニア
- エクセルVBAで、数字をテキストファイルに書き出したい
print #1,cells(1,1) のようにセルの値をテキストファイルに書き出しています。 セルには、6が入力されていて、表示は6.00 にしてありますが、書き出すと当然6になってしまいます。セルの書式を、文字列にすればいいのでしょうが、入力や計算の都合で、数値のままにしたいのです。見えている通りにテキストに書き出すには、どのようにしたら良いですか? よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- vba ワークシートを変数を用いて開くには
初歩的な質問ですが、 ワークシートの書式が新しくなったことで、書き換えをすることになりました。 現在のエクセルファイルから、新しいエクセルファイルへ、セルの値を参照しながら VBAにて作業をしたいのですが、 Sub changesheet() Dim iname As String Dim wbname As String iname = InputBox("ブック名を入力", "対象ブックを入力") wbname = "シート2012(" & iname & ").xls" ActiveSheet.Range("P4").Value = Workbooks(wbname).Worksheets("Sheet1").Range("P4").Value End Sub この記載で実行すると、インデックスが有効範囲にありません とエラーになってしまいます。 変数(inputbox)を用いたセルの参照はどのように記述すればよろしいでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト