簡體   English   中英

VBA Excel中將值從一個工作簿復制到另一個?

[英]vba excel copy values from one workbook to another?

我試圖將值從工作簿復制到另一個工作簿,並將值從第200行開始粘貼到目標工作簿上。

我是vba的新手,所以一直試圖使用以下代碼來完成我需要做的事情,但是它無法正常工作,理想情況下,我希望在不打開目標工作簿的情況下進行復制和粘貼。

有人可以告訴我如何使我的代碼執行我需要的工作嗎? 提前致謝,

Dim ws10 As Worksheet, ws12 As Worksheet
Dim DestRow As Long
Set ws10 = Workbooks("\\UKSH000-FILE06\Purchasing\New_Supplier_Set_Ups_&_Audits\Supplier SetUps & Amendments.xls").Sheets("Statistics")
Set ws12 = Workbooks("\\UKSH000-FILE06\Purchasing\New_Supplier_Set_Ups_&_Audits\Supplier Tracking & Management.xls").Sheets("SupplierTracking")
DestRow = ws12.Cells(Rows.Count, "B").End(xlUp).Row + 1
ws10.Range("A" & ActiveCell.Row).Copy
ws12.Range("B" & DestRow).PasteSpecial xlPasteValuesAndNumberFormats 

若要使目標工作簿不可見,我建議您創建另一個對象以將其打開。 但是您不能將PasteSpecial粘貼到另一個對象中,因此只需要粘貼它即可。

Dim ws10 As Worksheet, ws12 As Worksheet
Dim DestRow As Long
Dim objExcel
Dim objWkb

Set objExcel = CreateObject("Excel.Application")
Set objWkb = objExcel.Workbooks.Open("\\UKSH000-FILE06\Purchasing\New_Supplier_Set_Ups_&_Audits\Supplier Tracking & Management.xls")

Set ws10 = Workbooks("\\UKSH000-FILE06\Purchasing\New_Supplier_Set_Ups_&_Audits\Supplier SetUps & Amendments.xls").Sheets("Statistics")
Set ws12 = objWkb.Sheets("SupplierTracking")
DestRow = ws12.Cells(Rows.Count, "B").End(xlUp).Row + 1
ws10.Range("A" & ActiveCell.Row).Copy
ws12.Range("B" & DestRow).Paste

不要忘記在代碼結束之前保存並退出工作簿。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM