繁体   English   中英

Excel VBA-从一个工作簿到另一个工作簿的数据

[英]Excel VBA - Data From One Workbook to Another

我可能在这里缺少一些简单的东西。 它只是没有将数据从源工作簿复制到目标工作簿,并且没有错误发生。 源工作簿打开得很好。 目标工作簿包含此代码。 这两个工作簿都包含一个名为“数据”的工作表。 任何帮助将不胜感激。

Sub TransferData()

   Dim wbTarget As Workbook
   Dim wbSource As Workbook

   Set wbSource = Workbooks.Open("C:\folder\source.xls")
   Set wbTarget = Workbooks.Open("C:\folder\target.xlsm")

   wbSource.Activate
   Sheets("Data").Select
   ActiveSheet.Range("B7").Copy

   wbTarget.Activate
   Sheets("Data").Select
   ActiveSheet.Range("A1").Paste

End Sub

我认为您的问题在这里:

ActiveSheet.Range("B7").Copy

Excel不知道要从哪个工作簿复制:

With wbSource
    .Activate
    .Sheets("Data").Select
    .ActiveSheet.Range("B7").Copy
End With

With wbTarget
    .Activate
    .Sheets("Data").Select
    .ActiveSheet.Range("A1").Paste
End With

不使用select语句尝试此代码。

另外,您说的代码在目标工作簿中?

如果要同时打开两个工作簿,则代码应位于第三个不相关的工作簿中。

Sub TransferData()

   Dim wbTarget As Workbook
   Dim wbSource As Workbook

   Set wbSource = Workbooks.Open("C:\folder\source.xls")
   Set wbTarget = Workbooks.Open("C:\folder\target.xlsm")

   wbSource.Sheets("Data").Range("B7").Copy wbTarget.Sheets("Data").Range("A1")

   wbTarget.Close(True)
   wbSource.Close(True)

End Sub

这是我每天用来将电子表格从一个工作簿复制到另一个工作簿的代码:

Dim TWB As Workbook
Dim CopyWB As Workbook
Set TWB = ThisWorkbook
Set CopyWB = Workbooks.Open(FName, ReadOnly:=True)
CopyWB.Sheets(TWB.Sheets("Menu").ComboBox1.Text).Cells.Copy TWB.Sheets("DataSheet").Cells
CopyWB.Close (False)

您不能存储值而不是复制粘贴

Sub TransferData()
       Dim wbTarget As Workbook
       Dim wbSource As Workbook

       Set wbTarget = Application.ActiveWorkbook
       Set wbSource = Workbooks.Open("C:\folder\source.xls")


       wbSource.Activate
       Sheets("Data").Select
       xValue = ActiveSheet.Range("B7").Value

       wbTarget.Activate
       Sheets("Data").Select
       ActiveSheet.Range("A1").Value = xValue
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM