Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.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 从一个工作簿复制并粘贴到另一个工作簿_Vba_Excel - Fatal编程技术网

Vba 从一个工作簿复制并粘贴到另一个工作簿

Vba 从一个工作簿复制并粘贴到另一个工作簿,vba,excel,Vba,Excel,我在一个工作簿中有代码,这将打开另一个工作簿,用代码复制并粘贴到工作簿中。我可以选择数据,但不能粘贴它 我尝试过许多不同的代码变体,但都出现了错误,或者根本不起任何作用。示例在template.xls中运行,我想在其中粘贴数据: Set dlsheet = appexcel.Workbooks.Open(strPath & "downloadedData.xls") With dlsheet.Sheets("Data") .range("A1:H3").Select.copy

我在一个工作簿中有代码,这将打开另一个工作簿,用代码复制并粘贴到工作簿中。我可以选择数据,但不能粘贴它

我尝试过许多不同的代码变体,但都出现了错误,或者根本不起任何作用。示例在template.xls中运行,我想在其中粘贴数据:

Set dlsheet = appexcel.Workbooks.Open(strPath & "downloadedData.xls")

With dlsheet.Sheets("Data")

    .range("A1:H3").Select.copy
    selection.copy

End With
我不知道如何使用选择,因为这将从模板复制,我尝试在选择前使用句号

我可以将整个工作表从dlsheet复制到新工作簿中,如果有人告诉我如何将其复制到模板而不是新工作簿中,那么这也可以做到

dlsheet.Sheets("Data").Copy
试试这个

Set dlsheet = appexcel.Workbooks.Open(strPath & "downloadedData.xls")

With dlsheet
    .Sheets("Data").Range("A1:H3").Copy

    .Sheets("Data").Range("A1").PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With
试试这个

Set dlsheet = appexcel.Workbooks.Open(strPath & "downloadedData.xls")

With dlsheet
    .Sheets("Data").Range("A1:H3").Copy

    .Sheets("Data").Range("A1").PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With

要复制,您可以直接使用此
.Range(“A1:H3”)。复制
而不是
.Range(“A1:H3”)。选择。复制
啊,对不起,我不是说该副本在选择之后(.Range(“A1:H3”)。选择)我有一个建议,如果您要从模板复制整个文档,请不要使用复制粘贴方法。我认为有一种开放方法将接受模板文档文件名作为参数。如果您调用该方法,它将自动将模板文档内容复制到新文档。如果您是如果您使用
.Range(“A1:H3”),请按照@Sudhakar的建议从模板中删除一个副本.Copy
那么你不需要下一行,那就是
选择。Copy
:)谢谢,这很有效。我现在有另一个问题,我以前遇到过,但一直无法解决。要复制,你可以直接使用这个
.Range(“A1:H3”)。Copy
而不是
.Range(“A1:H3”).Select.copy
啊,很抱歉,我不是说该副本在Select之后(.range(“A1:H3”).Select是我要输入的内容。我有一个建议,如果您从模板复制整个文档,请不要使用复制粘贴方法。我认为有一个Open方法可以接受模板文档文件名作为参数。如果您调用该方法,它将自动将模板文档内容复制到新文档中。如果您是从模板创建副本,请按照@Sudhakar的建议执行。如我之前的评论所述,如果您使用
.Range(“A1:H3”)。复制
,则不需要下一行,即
选择。复制
:)谢谢,成功了。我现在有另一个问题,我以前有过,但一直没能解决。这不是OP所要求的。您将数据从
dlsheet
工作簿复制到工作簿中,但用户希望将数据从工作簿复制到包含代码的工作簿中。这不是OP所要求的。您可以将数据从
dlsheet
工作簿复制到工作簿,但用户希望将数据从工作簿复制到包含代码的工作簿。