マクロ初心者の若葉マークです。


仕事で複数のファイルを、ひとつにまとめ、売上をあげる作業をしています。
そのファイルは、売上先がファイル名となっています。
しかし、ファイルを開くと、売上先がどこであるかわからなくなってしまうので、
全てのファイルに一括して一行増やし、
A1のセルにそれぞれのファイル名を表示したいのですが、いい方法はありませんか。
また、A1のセルには関数ではなく、そのファイル名が残るようにしたいのですが、
マクロなどの初心者のため、全く検討がつきません。
どなたか、教えてください。

A 回答 (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

ブックを保存する
ブックを,目的のブックが保存してあるフォルダにコピーする
ブックを開いてマクロを実行する。


#各ブックにシートが何枚あるのか,どのシートに記入したいのか,不明なのでてきとーに作成してあります。
#いったいどこにどんな具合に目的のブックが用意してあるのかも不明なので,てきとーに作成してあります。
 実態に合わせた使いやすいマクロの動作を改めて考えてみて,マクロを工夫してご自分で再作成してみて下さい。
    • good
    • 0
この回答へのお礼

kethin様


どうもありがとうございます。


これでバッチリできました。
フォルダに50個くらいのエクセルがありまして、
その一つ一つに、今まで手作業で関数を入れていたので、
とっても助かりました。

ありがとうございます。

お礼日時:2011/04/28 14:55

1行目に



=CELL("FILENAME")

と入れて見て下さい。

もっともそんなことをしないでも、Excelの上部にちゃんとファイル名は表示されているんですけどね。
    • good
    • 0
この回答へのお礼

回答頂きましてありがとうございます。
50ファイルぐらいを、毎回開け、関数をいれたり…が時間かかってしまうので、
いっぺんにぱっと出来るものを探しています。
でも、勉強になるので助かりました。

お礼日時:2011/04/28 14:48

以下のマクロを作って実行すればOKです。



Cells(1,1).Value = Thisworkbook.name

ご参考まで。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

この関数を何処へはれば良いかわからず…。
すみません、私が無知過ぎて。

でも、投稿してすぐにご回答頂けて、うれしかったです。
ありがとうございました。

お礼日時:2011/04/28 14:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング