2012-06-14 163 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

相關問題