- ベストアンサー
エクセルマクロで複数シートのデータをまとめる方法
- エクセルの複数シートにあるデータを条件に合わせて一つのシートにまとめる方法を解説します。
- 複数シートで同じ条件のデータをまとめるためには、エクセルのマクロを使用すると便利です。
- マクロ以外にも、フィルタリングやピボットテーブルを利用する方法もあります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
コードはかなり簡単なのですが、こういうのは、環境の違いなのか、理由が分からない失敗がありますので、十分に注意して行ってください。私は、この手のワークシートを駆使したものは、あまり自信がありません。 Sub CopytoSheet21() Dim i As Long, j As Long, k As Long Dim TotalSheet As Worksheet Set TotalSheet = Worksheets("Sheet21") k = 2 'TotalSheet の最初の行 Application.ScreenUpdating = False 'Sheet21 のデータの消去 B1から、以下を消す TotalSheet.Range("B1").CurrentRegion.Offset(1).ClearContents For i = 1 To 20 With Worksheets("Sheet" & i) For j = 2 To .Range("A65536").End(xlUp).Row If StrConv(.Cells(j, 1).Value, vbUpperCase) = "C" Or _ StrConv(.Cells(j, 1).Value, vbUpperCase) = "D" Or _ .Cells(j, 2).Value = "欠" Then .Cells(j, 1).Resize(, 13).Copy TotalSheet.Cells(k, 1).PasteSpecial Paste:=xlValues Application.CutCopyMode = True k = k + 1 End If Next j End With Next i Application.ScreenUpdating = True Set TotalSheet = Nothing End Sub
お礼
ありがとうございました。使わせていただきます。コードは簡単って書いてありますが、マクロを組める頭がある人ってすごいと思います!