2012-06-14 165 views
1

我在一个工作簿有代码,这应该打开另一个工作簿,复制并粘贴到与代码的工作簿。我可以选择数据但不能粘贴。复制并从一个工作簿粘贴到另一个

我曾尝试代码得到错误的许多不同的变化,或者没有做任何事情。一个例子是在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 
+1

要复制您可以直接使用此'.Range( “A1:H3”)Copy',而不是'.range。( “A1:H3”) .Select.copy' –

+0

不好意思啊我din't意味着该副本是选择(.range(“A1:H3)。选择)后就是我的意思,进入 – TBone2087

+0

我有一个建议,如果您要复制整个然后不要使用复制和粘贴方法,我认为有Open方法会接受模板文件的文件名作为参数,如果你调用这个方法,会自动将您的模板文档内容复制到新文档中。 –

回答

1
Set dlsheet = appexcel.Workbooks.Open(strPath & "downloadedData.xls") 
dlsheet.Sheets("Data").range("A1:H3").copy 

ThisWorkbook.ActiveSheet.Paste Destination:=ThisWorkbook.ActiveSheet.Range("A1:H3") 
0

试试这个

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 
+0

这不是OP要求的。您将数据复制到'dlsheet'工作簿,但用户想要将数据从那里复制到包含代码的工作簿中。 – Masoud

相关问题