• 締切済み

VBAで、他のBookのSheetのコピー

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

みんなの回答

  • NCU
  • ベストアンサー率10% (32/318)
回答No.3

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

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

たとえば、同じフォルダー内にあるすべての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

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

お望みの動作をマクロの記録で、やってみてください。 VBAのソースが作成できますので。

trois006
質問者

お礼

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

関連するQ&A