Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba Excel宏:粘贴时出错-向下移动10行-粘贴-10行-粘贴等_Vba_Excel - Fatal编程技术网

Vba Excel宏:粘贴时出错-向下移动10行-粘贴-10行-粘贴等

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

我正试图从同一范围(A4:A8)的三本工作簿(一次一本)中复制数据,并将它们粘贴到新工作簿中。唯一的问题是我试图让粘贴部分每循环向下移动10行

我在专线上收到一条错误消息。我不知道为什么

(我是Excel宏新手,但我正在尝试)

非常感谢任何指导/指示

非常感谢

迈克


修复了几个问题“请参阅注释”

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