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

解決済みの質問

今開いているエクセルのファイル名をセルに取り込みたい

日付(yymmdd.txt)の付いた名前のテキストファイルを
自動的にエクセルにCSVで取り込む様に、マクロを組みました。なので、このファイル名に日付が付いているので、この日付をどうにかしてエクセルに取り込みたいのですが、方法をご存知無いですか?

TXTとエクセルは同じフォルダに入れて管理する予定なので、エクセルファイルの居るフォルダ内のファイル名を取り込むのでも構いません。
どなたか良い案ありませんか?

よろしくおねがいします。

投稿日時 - 2004-12-17 14:19:17

QNo.1130890

すぐに回答ほしいです

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

下記では参考になりませんか。
Sub test01()
Cells(1, 1) = "'" & ActiveWorkbook.Name
Cells(1, 2) = "'" & ActiveSheet.Name
Cells(2, 1) = "'" & Left(ActiveWorkbook.Name, 6)
Cells(2, 2) = "'" & Left(ActiveSheet.Name, 6)
End Sub
ブック名かシート名かハッキリしないので両方挙げた。
上例ではブック名が041201などの場合。20041201の場合は8に変えること。

投稿日時 - 2004-12-17 17:45:04

お礼

アドバイス有難うございます。
早速やってみました。
すんなり両方の数値が取れました。
このやり方を採用して、仕事を進めてみます。
有難うございます

投稿日時 - 2004-12-20 13:26:02

ANo.4

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

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

回答(4)

ANo.3

やっているのは、
VBAで?
それともワークシートで?
取り出した、ファイル名はワークシートに入れる?
組んだマクロでファイル名の部分は、どうなっているのですか?
何かのタイミングで指定するのでしょうか?
それとも直打ち?

VBAでシート名は、
ActiveSheet.name
で取り出せますが。

よろしければ、CSV取り込みのマクロの部分を補足であげてもらえないでしょうか?

投稿日時 - 2004-12-17 16:27:02

お礼

アドバイス有難うございます。
ActiveSheet.nameの組み込み方がわからなかったのですが、解決できました。
どうも有難うございます。

投稿日時 - 2004-12-20 13:27:52

ANo.2

ファイルを指定して開く行為は、人間の処理ですか?

開いてあるExcelファイル(ブックでもテキストでも)の名前は VBA上で「ThisWorkbook.Name」です。

投稿日時 - 2004-12-17 15:07:47

お礼

マクロにTEXTオープンというのを作って有り、
それを実行するとテキストがCSVでエクセルに開かれるようにしています。
私の知識が曖昧なので、うまく操作できませんでしたが、なんとか、ファイル名は取れるようになりました。
アドバイス有難うございました。

投稿日時 - 2004-12-20 13:30:27

ANo.1

既に、ファイルを取り込むことができているのだから、ファイル名は、既に取り込めていると思いますが、日付部分だけを取り出したいということなのでしょうか?
left(filename,len(filename)-4)で.txtを除いて取り出せますが。
また、違う目的・操作なのでしょうか?

投稿日時 - 2004-12-17 14:37:46

補足

早速の回答ありがとうございます。
今この関数を貼り付けて見ましたが、エラーが出てしまいます。=の後ろに上の式を入れるのではダメなのでしょうか?確かにファイルが取り込めているので、
シート名もそれになっているので、いずれかから、
日付の6桁を取り出せれば良いのですが、
うまくできないのです。

宜しくお願いします。

投稿日時 - 2004-12-17 14:44:37

あなたにオススメの質問