ブック内の複数のシートのデータを集計シートに効率的にコピーするコードがあり、可変数のシートには常に同じデータフォーマット。Excel VBAデータテーブルと可変列を組み合わせるときに各行にシート名を挿入する
入力ファイルの可変数(まったく同じ50%の変数の約50%)が変更され、シート名がサマリーシートにコピーされたデータに追加されるようにコードを拡張する必要があります。次に、固定形式のデータを要約シートにコピーし、シート名とともにその一部を使用して、変数データを参照し、必要な列にコピーします。
現在のコードは以下のとおりです。誰かが列とシート名の追加を手助けできる場合は、私は感謝します。一度に変数データをコピーすると、シート名がわかりやすくなります。
Sub CopyData()
Application.ScreenUpdating = False
Dim wsSummary As Worksheet
Dim LastRow As Long
Dim LastRow2 As Long
Set wsSummary = Worksheets("Summary")
LastRow = wsSummary.Cells(Rows.Count, "A").End(xlUp).Row
wsSummary.Range("A2:R" & LastRow).Clear
ShtCount = ActiveWorkbook.Sheets.Count
For i = 2 To ShtCount
Worksheets(i).Activate
LastRow2 = activesheet.Cells(Rows.Count, "A").End(xlUp).Row
Range("A2:R" & LastRow2).Select
Selection.Copy
Sheets("Summary").Activate
LastRow2 = activesheet.Cells(Rows.Count, "A").End(xlUp).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Offset(0, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Next i
End Sub
おかげ
私はそれが少し良く作るために少しのコードリファクタリングしまし
ありがとうございました。私は、コピーされている個々のシートから書式を削除し、ペースト先を行の下に移動するためにいくつかのマイナーな編集を行いました。 – AlanB
良いキャッチ、私は最初の空の行を選択する行を追加する答えを編集しました... – Dave