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

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

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