プロが教えるわが家の防犯対策術!

フォルダの中に複数のExcelファイルがあり、それぞれのExcelファイルには「All」という名前のシートが存在します。そこで、複数ファイルにあるこのシートのデータをすべて1つのシートにまとめたいと思います。具体的には、「合体.xls」というExcelファイルからマクロを実行し、「合体.xls」に存在する「pAll」という名前のシートにシート「All」の全データを入れたいです。どのようにすれば実現できますか?

教えて!goo グレード

A 回答 (2件)

やってみました。


「合体.xls」の標準モジュールに下記のコードを書いて実行します。「合体.xls」と同じフォルダ内だけを検索します。

Sub Test()
myPath = ThisWorkbook.Path & "\"
fname = Dir(myPath & "*.xls") 'フォルダ内のExcelファイルを検索します

Do Until fname = Empty '全て検索し終えると、fname = Empty となるので、その間以下を実行します
If fname <> ThisWorkbook.Name Then
Workbooks.Open myPath & fname '選択したファイルを開きます
Set AB = ActiveWorkbook
lr = ThisWorkbook.Sheets("pAll").Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
On Error Resume Next
AB.Sheets("All").UsedRange.Copy
On Error GoTo 0
ThisWorkbook.Activate
Sheets("pAll").Range("A" & lr + 1).Select
ActiveSheet.Paste
AB.Close
End If
fname = Dir '選択したフォルダ内の次のExcelファイルを検索します
Loop
End Sub
    • good
    • 1
この回答へのお礼

お礼が大変遅くなり申し訳ありませんでした。
この度は、いただいたアドバイスのおかげで、
無事望むものを作ることができました。
貴重なアドバイスをいただけ感謝しております。
今後ともよろしくお願いいたします。

お礼日時:2005/11/23 14:08

ちょっと気になったので。



例えば、ファイルが、A、B、C とあった場合、合体ファイルに移動する順は?

ファイルA、B、Cの順で移動とか、C、B、Aの順とか。
それとも順不同?

もし移動順が決まっているとしたら、その基準は?
 
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング