【问题标题】:vba excel copy values from one workbook to another?vba excel将值从一个工作簿复制到另一个工作簿?
【发布时间】:2014-12-09 09:20:09
【问题描述】:

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

【问题讨论】:

  • 究竟是什么不工作?是不是你在新的工作簿中只得到一个单元格的数据?请告诉我们确切的问题和任何错误消息以及出现任何错误消息的行。
  • 我什么都没有得到,什么都没有复制,也没有粘贴。
  • 你能发布你的完整代码吗?有错误信息吗?
  • 我大胆猜测DestRow 不是你想的那样。

标签: excel vba


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2017-02-26
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    相关资源
    最近更新 更多