在B 行我有一个代码列表,在H2 我有一个文件夹路径,其中包含这些列出的代码的所有文件。
我正在尝试遍历此列表,激活相应的文件,将值复制并粘贴到原始文件中相应的选项卡中。虽然我似乎无法让这段代码工作。
有人可以告诉我如何解决吗?
Sub Master_Recipe()
Dim MainLoop As Integer
Dim WB As Workbook
Dim WBmain As Workbook
Dim Fac As Integer
MainLoop = 2
Set WBmain = ActiveWorkbook
Do While MainLoop < 15
Fac = Range("B" & MainLoop).Value
Set WB = Range("H2").Value & Fac & " - Recipe Book" 'Object required error here
Workbooks(WB).Activate
Range("C:G").Copy
Workbooks("WBmain").Activate
Worksheets("Fac").Activate
Range("C:G").Paste
MainLoop = MainLoop + 1
Loop
End Sub
最佳答案
有很多问题需要解决(所以我会在您提供说明后更新答案)。
Range
没有定义的工作表是非常糟糕的做法。
Sub Master_Recipe()
Dim MainLoop As Integer
Dim WB As Workbook
Dim WBmain As Workbook
Dim Fac As Integer
Set WBmain = Application.Workbooks.Open("WBmain")
For MainLoop = 2 to 14
Fac = WBMain.Sheets("NAME OF SHEET with Data").Range("B" & MainLoop).Value
Set WB = Application.Workbooks.Open(WBMain.Sheets("NAME OF SHEET with Data").Range("H2").Value & Fac & " - Recipe Book")
WB.Sheets("Name of sheet in workbook").Range("C:G").Copy
WBMain.Sheets("Fac").Range("C:G").Paste
Next MainLoop
End Sub
关于vba - 循环文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32054135/