在两个关闭的工作簿之间转换数据而不创建新的工作簿

时间:2018-08-08 07:46:46

标签: excel vba excel-vba xlsx

如何在两个封闭的工作簿之间迁移数据而不创建新的工作簿?我有以下情况:

  • 2个具有不同结构的Excel工作簿(wb1和wb2)
  • 我需要将wb1中的某些数据传输到wb2
  • 我无法使用宏修改wb1和wb2

我的问题:是否可以从单独的Excel工作簿中激活宏-命名为wb3?因此,触发wb3中的宏会将所有相关数据从wb1传输到wb2。...这样的宏看起来如何?

谢谢!

Sub CommandButton1_Click()
Dim wb1 As Workbook
Dim wb2 As Workbook

Set wb1 = Application.workbooks.open("C:\Users\PlutoX\MyExcelfile1.xlsx")
Set wb2 = Application.workbooks.open("C:\Users\PlutoX\MyExcelfile1.xlsx")


wb2.Sheets("Sheet1").Range("A1") = wb1.Sheets("Sheet1").Range("A1")



wb1.Close False
wb2.Close True

End Sub

1 个答案:

答案 0 :(得分:1)

快到了!您需要更改三件事:

  1. 如果要打开工作簿,则需要说明完整路径

    Set wb1 = Application.workbooks.open("C:\Users\PlutoX\MyExcelfile1.xlsx")
    
  2. 如果需要将物料转移到wb2,则顺序为wb2 = wb1如此

    wb2.sheets("Sheet1").Range("A1").value = wb1.sheets("Sheet1").Range("A1").value
    
  3. 如果关闭工作簿,请确保至少保存有更改的工作簿

    wb2.Close True