我正在尝试将来自不同工作簿的数据粘贴到1个主工作簿中。到目前为止,数据的复制和粘贴都可以正常工作,但是,当我将数据粘贴到工作簿中时,在将每个工作簿粘贴到主工作簿后,都会跳过一些行。下图显示了问题所在。link
2,3和6-12被跳过。下面是我的代码:
Sub Macro1()
'
' Macro1 Macro
'
Dim wb1 As Workbook
Set wb1 = ThisWorkbook
Path = "C:\Users\Tester\Documents\test\"
Filename = Dir(Path & "*.xls")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Rows("2:" & Range("A1").End(xlDown).Row).copy _
wb1.Sheets(1).Range("A" & Range("A1").End(xlDown).Row + 1)
Application.CutCopyMode = False
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
End Sub
我认为问题与“ wb1.Sheets(1).Range(“ A”&Range(“ A1”)。End(xlDown).Row + 1)“这一行有关,但我不确定如何解决这个问题。有什么建议?谢谢!
答案 0 :(得分:0)
您仅定义了要复制到的范围,但是在其中未指定文件Range("A1").End(xlDown).Row
的文件,因此excel将获得表单活动文件。
尝试将目的地更改为
wb1.Sheets(1).Range("A" & wb1.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1)
您的代码应类似于
Sheet.Rows("2:" & Range("A1").End(xlDown).Row).copy
_ wb1.Sheets(1).Range("A" & wb1.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1)