Vba Excel宏:粘贴时出错-向下移动10行-粘贴-10行-粘贴等
我正试图从同一范围(A4:A8)的三本工作簿(一次一本)中复制数据,并将它们粘贴到新工作簿中。唯一的问题是我试图让粘贴部分每循环向下移动10行 我在专线上收到一条错误消息。我不知道为什么 (我是Excel宏新手,但我正在尝试) 非常感谢任何指导/指示 非常感谢 迈克Vba Excel宏:粘贴时出错-向下移动10行-粘贴-10行-粘贴等,vba,excel,Vba,Excel,我正试图从同一范围(A4:A8)的三本工作簿(一次一本)中复制数据,并将它们粘贴到新工作簿中。唯一的问题是我试图让粘贴部分每循环向下移动10行 我在专线上收到一条错误消息。我不知道为什么 (我是Excel宏新手,但我正在尝试) 非常感谢任何指导/指示 非常感谢 迈克 修复了几个问题“请参阅注释” Sub a() Dim TestWorkbook As Variant Dim mytest As Variant Dim s As String TestWorkbook = Array("t
修复了几个问题“请参阅注释”
Sub a()
Dim TestWorkbook As Variant
Dim mytest As Variant
Dim s As String
TestWorkbook = Array("test1", "test2", "test3")
i = 1 'Start with 1
Workbooks.Open Filename:="S:\Result_Workbook.xls" 'open only once
For Each mytest In TestWorkbook
s = mytest & ".xls"
Workbooks.Open "c:\" & s
Workbooks(s).Activate 'Remember to Activate
Range("a4:a8").Copy
' Now paste properly
Workbooks("Result_Workbook.xls").Worksheets("Sheet1").Range("l" & 5 + i).PasteSpecial Paste:=xlPasteValues
ActiveWorkbook.Close SaveChanges:=False 'close after pasting
i = i + 10
Next
End Sub
错误实际上是怎么说的?我不确定工作簿关闭后您是否可以保留副本。在关闭第一个工作簿之前,请尝试粘贴它(当然,您必须确保选择所需的确切工作表)。非常感谢。它很好用。谢谢你的提示和评论,因为它们真的很有用。使用S作为字符串部分也是一件很好的事情。节省了我打字的时间。@Mike很高兴知道它起作用了。始终记住启动宏的最佳方法是记录操作并窥视自动生成的代码。
Sub a()
Dim TestWorkbook As Variant
Dim mytest As Variant
Dim s As String
TestWorkbook = Array("test1", "test2", "test3")
i = 1 'Start with 1
Workbooks.Open Filename:="S:\Result_Workbook.xls" 'open only once
For Each mytest In TestWorkbook
s = mytest & ".xls"
Workbooks.Open "c:\" & s
Workbooks(s).Activate 'Remember to Activate
Range("a4:a8").Copy
' Now paste properly
Workbooks("Result_Workbook.xls").Worksheets("Sheet1").Range("l" & 5 + i).PasteSpecial Paste:=xlPasteValues
ActiveWorkbook.Close SaveChanges:=False 'close after pasting
i = i + 10
Next
End Sub