• ベストアンサー
  • すぐに回答を!

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

日付(yymmdd.txt)の付いた名前のテキストファイルを 自動的にエクセルにCSVで取り込む様に、マクロを組みました。なので、このファイル名に日付が付いているので、この日付をどうにかしてエクセルに取り込みたいのですが、方法をご存知無いですか? TXTとエクセルは同じフォルダに入れて管理する予定なので、エクセルファイルの居るフォルダ内のファイル名を取り込むのでも構いません。 どなたか良い案ありませんか? よろしくおねがいします。

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数398
  • ありがとう数3

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

  • ベストアンサー
  • 回答No.4
  • imogasi
  • ベストアンサー率27% (4553/16294)

下記では参考になりませんか。 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に変えること。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • 任意のファイル名の変更

    ファイル名がD303????.csv。????に日付がはります。たとえばD3031214(正確には時間まで含めたファイル名)みたいに、自動でファイルがシステム上毎日作成されます。そのうち、一番新しいファイルをリネーム、単純にD303.CSVにしてエクセルで利用したい。手順的にはエクセルをたちあげて、マクロ(VBA)を起動し、たくさんあるD303????.csvのうち一番新しいものをD303.CSVにリネームしてエクセルのシートに貼り付ける。ファイル名の変更にワールド文字がつかえないので困っています。何かいい方法はありませんか。できれば、例文もおしえていただけえばありがたいのですが。

  • まとめてファイル名を変更したい

    あるフォルダに存在するファイル名に”RAWDATA"を含むテキストファイルを 任意のファイル名でCSVに変更したいのですが、 バッチファイルで set /p filename= rename d:\あるフォルダ\RAWDATA*.txt %filename%*.csv で簡単にできるかなと思ったのですが、 ”RAWDATA”の部分は入力した分しか変更されないようでした。 例えば”abc”と入力すると”abcDATA”となります。 入力したファイル名に置き換わるようにするには どのようにしたら良いのでしょうか? バッチ初心者ですがよろしくお願いします。

  • VBAでパスを取得しファイル名を入力するには

    EXCEL2003です。同じフォルダにVBAマクロとデータのcsvファイルがあります。このとき、マクロでパスを取得し、次にcsvファイル名を手入力あるいはそのフォルダの詳細表示からファイルをクリックすればデータを取り込めるようにしたいのですが、どなたかマクロを教えてくれないでしょうか。か。

その他の回答 (3)

  • 回答No.3
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)

やっているのは、 VBAで? それともワークシートで? 取り出した、ファイル名はワークシートに入れる? 組んだマクロでファイル名の部分は、どうなっているのですか? 何かのタイミングで指定するのでしょうか? それとも直打ち? VBAでシート名は、 ActiveSheet.name で取り出せますが。 よろしければ、CSV取り込みのマクロの部分を補足であげてもらえないでしょうか?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

  • 回答No.2
  • bin-chan
  • ベストアンサー率33% (1403/4213)

ファイルを指定して開く行為は、人間の処理ですか? 開いてあるExcelファイル(ブックでもテキストでも)の名前は VBA上で「ThisWorkbook.Name」です。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

  • 回答No.1
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)

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

共感・感謝の気持ちを伝えよう!

質問者からの補足

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

関連するQ&A

  • 複数のテキストファイルをエクセルに貼りつける方法

    ディスクトップに、ひとつのフォルダがあるとします。 そのフォルダを開くと、 フォルダ1、フォルダ2、フォルダ3、フォルダ4とこのような感じでフォルダがあり、さらに各フォルダには、複数のテキストファイルが入っています。 現在、エクセルのA列にフォルダ名、B列にtxtファイル名、C列にtxtファイルの内容を手動で貼りつけるといった作業を行っているのですが、数が多いためしんどいです。 何か楽にできる方法はないでしょうか? よろしくお願いいたします。

  • エクセル マクロで特定ファイル名だけを開く

    エクセルのマクロで 特定のファイル名だけをフォルダの中から探して 開くというものを作りたいのですが うまくできません。 フォルダを指定して 「060927.xls」というエクセルファイルだけを 開きたいのですが この日付のところが毎日変わるので 「06XXXX.xls」というような 最初が06であと4つの文字が入ってるファイル名だけを 流動的に指定できるようにするには どのようなVBAマクロにすればよいのでしょうか? とても困っています。 是非教えてください!宜しくお願いします。

  • VBAでエクセルからのファイル名とテキスト化を自動で実行する方法

    マクロを実行して、エクセルのセルからファイル名とテキストファイルを自動で出力したいのですが、VBA初心者なのでプログラムの書き方がわかりません。 どうかVBAのプログラムの書き方を教えて下さい。 【マクロ実行前のエクセル状態】 1.エクセルのA列にファイル名1を入力 2.エクセルのB列にファイル名2を入力 3.エクセルのC列にテキスト出力させたい文字列を入力 【期待のマクロ動作】 ファイル名1+ファイル名2のファイル名でC列の文字列をテキストファイルで出力。 《例》 A B C 1 2 あ ⇒マクロ実行⇒ファイル名『12』テキスト内容『あ』 3 4 い ⇒マクロ実行⇒ファイル名『34』テキスト内容『い』 5 6 う ⇒マクロ実行⇒ファイル名『56』テキスト内容『う』 7 8 え ⇒マクロ実行⇒ファイル名『78』テキスト内容『え』 ・ ・ ・ ・ 上記の様に、一回のマクロ実行で入力されている列のセル全て がファイル名付きのテキストファイルとして出力をさせたいです。 申し訳ありませんが、よろしくお願いいたします。

  • セルで指定した名前のテキストファイルをインポートするマクロの作り方

    例: A1セルに5,B1セルに1を入力。(5月1日を表しています) その後マクロを実行し、0501.txtという5月1日に相当する テキストファイルをインポートするというものです。 該当のフォルダ内には各日付ごとのテキストファイルが 複数存在しており、インポートしたいテキストファイル をエクセルファイルのセル上で指定するのが目的です。 インポートするファイル名を固定しないというマクロの 作り方がわかりません。 どうぞよろしくお願いします。

  • 1行単位のデータをテキストファイルに保存するマクロ

    エクセルに入力済みの連続したデータを1行単位で以下のような内容でテキストファイルを作成し、 かつテキストファイル名を、セルに入力されている文字を使って保存するマクロを作りたいのですが、 どのようにしたら良いのでしょうか?よろしくお願いします。 *エクセルシート (ファイル名:aaa.xls シート名:sheet1 エクセルシートがあるフォルダ名:yyy) _|A |B |C | 1|x |y |z | 2|a1|a2|a3| 3|b1|b2|b3| *テキストファイル(保存するフォルダ名:zzz) ---テキストファイルの内容(ファイル名:a1.txt) x a1 y a2 z a3 --- ---テキストファイルの内容(ファイル名:b1.txt) x b1 y b2 z b3 --- エクセルはExcel2000でWindows2000を使用しております。

  • Excelマクロ/ファイル名を指定してインポート

    テキストファイルからExcelへインポートする作業を自動化させたいのですが。 毎回インポート元のファイル名(格納しているフォルダは同じです)が異なるので、マクロ記録ではうまく作成できません。VBAでないと無理でしょうか? できればファイル名をその都度入力するようなダイアログボックスが表示されれば理想的です。VBA初心者なので教えてください。

  • 【Access】テーブルをエクスポートする際、ファイル名末尾に日付をつけたい!

    どなたか教えてください! やりたい事はこんな事です。 (1)とあるテーブルを毎日Excel/テキスト/csvどの形でも良いので、決まったフォルダにエクスポートする。 (2)エクスポートする際、前日分を上書しないように、ファイル名の末尾もしくは頭に日付を入れたい。 これだけなんです。 出来ればVBAは組まずに済ませたいのです。 マクロでなんとか出来ないでしょうか?

  • ファイル名による移動

    ファイル名に4桁のキーをつけています。 このキーの上2桁に合致するフォルダに ファイルを移動するバッチを組みたいのですが、 可能でしょうか? たとえば、ファイル名「0101.txt」「0102.txt」「0201.txt」があった場合、 「0101.txt」「0102.txt」⇒01フォルダへ 「0201.txt」⇒02フォルダへ 頭が固くてすみません・・・ よろしくお願いいたします。

  • フォルダ内の複数ファイル名をテキストに落とし込む方法

    WinXPを使用しています。 ある1つのフォルダの中に何百個のファイルが入っている状態で、その中のファイル名のリストを作りたいのです。 例えば、それらの"ファイル名"(xxx.jpgとかxxx.pdfとか)をテキストファイル(txtでもcsvでもよい)に落とし込んでリストを作りたいのですが、何かいい方法かソフトはありますでしょうか?

  • excelからwordのファイル名を検索してリンクを貼りたいのです。

    excelからwordのファイル名を検索してリンクを貼りたいのです。 1つのexcelファイルの中に数千行のデータが入っています。 そこから、excel1行に対して1つずつ、wordのファイル名にリンクを貼りたいのですが、 excelのデータとwordのファイル名で共通しているのは、excelにあるデータ(ABCDE)に対して、wordのファイル名は(CDEFG)と、全部が共通しているのではなく、3つだけ共通の文字列があるだけです。 (※各A,B,C,D,E,F,Gは文字列。A=日付、B=名前 など。)       関数でできるのか、マクロを組まなきゃいけないのか、それすらもわかりません。 こんな説明でわかりますか? マクロはほとんど初心者なので、詳しく教えて頂けると助かります。