【发布时间】:2018-01-26 19:04:14
【问题描述】:
我想从不同的工作簿(具有相同的结构)中获取数据并创建一个循环来复制和粘贴在活动工作簿中检索到的数据。我试过了,但它不起作用。
Sub loopMacro()
Dim Wb1 As Workbook, Wb2 As Workbook, Wb3 As Workbook
Dim MainBook As Workbook
'Open all workbooks:
Set Wb1 = Workbooks.Open("D:\VBA\file1.xlsx")
Set Wb2 = Workbooks.Open("D:\VBA\file2.xlsx")
Set Wb3 = Workbooks.Open("D:\VBA\file3.xlsx")
Set MainBook = ThisWorkbook
For i = 1 To 3
For j = A To C
WB(i).Sheets("sheet1").Range("E4").Copy
MainBook.Sheets("DATA").Range(j & "1").PasteSpecial
WB(i).Sheets("sheet1").Range("E5").Copy
MainBook.Sheets("DATA").Range(j & "2").PasteSpecial
Next j
Next i
MainBook.Save
MainBook.Close End Sub
基本上,宏应该从工作表 1 中获取数据 - Wb1、Wb2、Wb3... 的单元格 E4 和 E5 并在活动工作簿(单元格 A1 和 A2)中打印 Wb1 的数据,在单元格中打印 Wb2 的数据B1 和 B2,单元格 C1 和 C2 中 Wb3 的数据。 有人可以帮忙吗?
【问题讨论】:
标签: excel vba loops copy-paste