すべてのワークシートを 1 つのワークシートにコピーする Excel マクロを作成しようとしています。
すべてのワークシートは、すべての行のすべてのセルにデータを含む同じ 4 列にレイアウトされます。各シートにはヘッダーがあります。各シートから事前にフィルター処理されたデータを結果シートにコピーしようとしています。各シートのデータは互いに積み重ねられます。
これまでのところ、これは私が持っているものであり、ほとんど機能しています。
Dim sh As Worksheet
Dim iRows As Long
iRows = 0
For Each sh In ActiveWorkbook.Worksheets
sh.Select
Range("A1").Select
Selection.Offset(1, 0).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Worksheets("Results").Select
Range("A1").Select
Selection.Offset(iRows, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
iRows = Worksheets("Results").UsedRange.Rows.Count
Next sh
オフセットが正しくありません。次のシートにコピーすると、前の行にコピーされたデータにコピーされます。
誰かがそれを手伝ってくれるなら、私がここで間違っていることも説明できれば、私はExcelとVBAが初めてなので、それは素晴らしいことです. ペーストが正しく機能する方法を理解していないと思いますか?