- ベストアンサー
複数のエクセルファイル名をセルに表示させたい
マクロ初心者の若葉マークです。 仕事で複数のファイルを、ひとつにまとめ、売上をあげる作業をしています。 そのファイルは、売上先がファイル名となっています。 しかし、ファイルを開くと、売上先がどこであるかわからなくなってしまうので、 全てのファイルに一括して一行増やし、 A1のセルにそれぞれのファイル名を表示したいのですが、いい方法はありませんか。 また、A1のセルには関数ではなく、そのファイル名が残るようにしたいのですが、 マクロなどの初心者のため、全く検討がつきません。 どなたか、教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
新規ブックを用意する ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub macro1() dim myPath as string dim myFile as string myPath = thisworkbook.path & "\" myFile = dir(mypath & "*.xls*") do until myfile = "" if myfile <> thisworkbook.name then workbooks.open filename:=mypath & myfile activeworkbook.worksheets(1).range("1:1").insert activeworkbook.worksheets(1).range("A1") = myfile activeworkbook.close savechanges:=true end if myfile = dir() loop msgbox "Done" end sub ブックを保存する ブックを,目的のブックが保存してあるフォルダにコピーする ブックを開いてマクロを実行する。 #各ブックにシートが何枚あるのか,どのシートに記入したいのか,不明なのでてきとーに作成してあります。 #いったいどこにどんな具合に目的のブックが用意してあるのかも不明なので,てきとーに作成してあります。 実態に合わせた使いやすいマクロの動作を改めて考えてみて,マクロを工夫してご自分で再作成してみて下さい。
その他の回答 (2)
- FEX2053
- ベストアンサー率37% (7991/21371)
1行目に =CELL("FILENAME") と入れて見て下さい。 もっともそんなことをしないでも、Excelの上部にちゃんとファイル名は表示されているんですけどね。
お礼
回答頂きましてありがとうございます。 50ファイルぐらいを、毎回開け、関数をいれたり…が時間かかってしまうので、 いっぺんにぱっと出来るものを探しています。 でも、勉強になるので助かりました。
- qualheart
- ベストアンサー率41% (1451/3486)
以下のマクロを作って実行すればOKです。 Cells(1,1).Value = Thisworkbook.name ご参考まで。
お礼
ご回答ありがとうございます。 この関数を何処へはれば良いかわからず…。 すみません、私が無知過ぎて。 でも、投稿してすぐにご回答頂けて、うれしかったです。 ありがとうございました。
お礼
kethin様 どうもありがとうございます。 これでバッチリできました。 フォルダに50個くらいのエクセルがありまして、 その一つ一つに、今まで手作業で関数を入れていたので、 とっても助かりました。 ありがとうございます。