vba excel将值从一个工作簿复制到另一个工作簿?

时间:2014-10-14 14:22:06

标签: excel vba

我正在尝试将我的值从工作簿复制到另一个工作簿,并将从第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 

1 个答案:

答案 0 :(得分:0)

要使目标工作簿不可见,我建议您创建另一个对象以将其打开。但是你不能在另一个对象中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

请勿忘记在代码结束前保存并退出工作簿。