プロが教える店舗&オフィスのセキュリティ対策術

複数のBookのSheet内の一部分をコピーして、一つのsheetにまとめるにはどうしたらよいのでしょうか?

A 回答 (3件)

たとえば、同じフォルダー内にあるすべてのBOOKの1枚目のシートの1行目だけをコピーしてきて、まとめるBOOKの1枚目のシートに上から順に貼り付けるという作業をマクロ化した場合のサンプルコードです。


ご参考まで。

Sub TEST01()
Application.ScreenUpdating = False '画面更新を一時停止
Set mb = ThisWorkbook
myfdr = ThisWorkbook.Path
fname = Dir(myfdr & "\*.xls") 'フォルダ内のExcelファイルを検索
Do Until fname = Empty '全て検索し終えると、fname = Empty となるので、その間以下を実行
If fname <> mb.Name Then 'ファイル名がこのファイルじゃなければ
Set wb = Workbooks.Open(myfdr & "\" & fname) '選択したファイルを開く
'wb.Worksheets.Copy Before:=mb.Sheets(mb.Sheets.Count) 'コピーしてまとめ用ブック末尾に置く
wb.Sheets(1).Rows(1).Copy
n = n + 1 'カウント
mb.Sheets(1).Rows(n).PasteSpecial
Application.CutCopyMode = False
wb.Close '選択したファイルを閉じる
End If
fname = Dir '選択したフォルダ内の次のExcelファイルを検索します
Loop '繰り返す
Application.ScreenUpdating = True '画面更新一時停止を解除
MsgBox n & "件のブックの1行目をまとめましました。"
End Sub
    • good
    • 0

掲示板では、どこがわからないのか具体的に記載して下さい。

    • good
    • 0

お望みの動作をマクロの記録で、やってみてください。


VBAのソースが作成できますので。
    • good
    • 0
この回答へのお礼

ありがとうございます。

やってみましたが、ブックを一度閉じてしまうと作成したソースが働かないようでした。

お礼日時:2006/08/20 05:05

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