我正在尝试从同一范围(A4:A8)的三个工作簿(一次一个)复制数据,并将它们粘贴到新工作簿中。唯一的问题是我试图让粘贴部分在每个循环中向下移动10行。
我在PasteSpecial线路上收到一条错误消息。我不知道为什么?
(我是一个Excel宏新手,但我正在尝试)
任何指导/指针都是非常感谢的。
非常感谢
麦克。
Dim TestWorkbook as variant,
Dim mytest as variant
TestWorkbook= array(“test1”, “test2”, “test3”) ‘3 source files
i = 0
For Each mytest In TestWorkbook
Workbooks.Open Filename:="S:\ExcelWork\" + TestWorkbook + "_Work.xls"
Range("a4:a8").Copy
ActiveWorkbook.Close
Workbooks.Open Filename:="S:\Result_Workbook.xls"
Range("l" & 5 + i).PasteSpecial Paste:=xlPasteValues `THE PROBLEM IS HERE
i = i + 10
Next发布于 2010-08-26 00:27:23
已修复的几个问题,请参阅评论
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 Subhttps://stackoverflow.com/questions/3566825
复制相似问题