[英]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.