[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同じブック内で1シートにまとめるマクロについて』(tuccii)
1ブックの中に9シートあり 8シートの内容を9シート目(まとめシート)に
転記するマクロにしたいのです。
各シートのタイトル行が4列目まであります。
すべてのシートが同じフォーマットで列の長さ以外違いはありません。
まとめシートには5行目からをシート順に転記していきたいのですが
タイトル4行まで転記されてしまいます。
Sub まとめ()
Dim LastR As Long, TgtR As Long Dim Sh As Worksheet, TgtSh As Worksheet
Set TgtSh = Sheets("まとめシート")
Application.ScreenUpdating = False TgtR = 3 TgtSh.Rows("4:" & TgtSh.Range("A65536").End(xlUp).Row).Delete For Each Sh In ThisWorkbook.Worksheets If Sh.Name <> TgtSh.Name Then With Sh LastR = .Range("A65536").End(xlUp).Row - 1 .Rows("2:" & LastR).Copy TgtSh.Rows(TgtR) End With TgtR = TgtSh.Range("A65536").End(xlUp).Row + 1 End If Next Application.ScreenUpdating = True End Sub
どこを変更したら
各シートの5行目からをまとめシートにうまくコピーできるのでしょうか。
とりあえず、tucciiさんのコードをいかすと こんな感じでしょうか? Sub まとめ() Dim LastR As Long, TgtR As Long Dim Sh As Worksheet, TgtSh As Worksheet Set TgtSh = Sheets("まとめシート") Application.ScreenUpdating = False TgtR = 5 TgtSh.Rows("5:" & TgtSh.Range("A65536").End(xlUp).Row).Delete For Each Sh In ThisWorkbook.Worksheets If Sh.Name <> TgtSh.Name Then With Sh LastR = .Range("A65536").End(xlUp).Row - 1 If LastR > 5 Then .Rows("5:" & LastR).Copy TgtSh.Rows(TgtR) End If End With TgtR = TgtSh.Range("A65536").End(xlUp).Row + 1 End If Next Application.ScreenUpdating = True End Sub
(キリキ)(〃⌒o⌒)b
遅くなりましたがうまくマクロがまわりました。
直す箇所がわかったので
タイトル行数が変更されても対応できます。
ありがとうございました。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.