vba - 循环文件

标签 vba excel

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/

相关文章:

excel - 循环浏览用户指定的根目录中的子文件夹和文件

excel - 将一个范围从一个封闭的工作簿变成一个数组

string - VBA excel,比较两个工作簿中的字符串

excel - 如何返回在 VBA 中传递给它的(变体)变量的维数

excel - 从数据透视表缓存重新创建源数据

vba - 复制和粘贴格式,包括单元格颜色 VBA Excel

vba - 查找一定长度的单元格并复制到当前工作表

python - 如何在 Python 中合并多个具有不同表列的 Excel 工作表?

excel - 在excel中将F10.11转换为F1011

excel - 从 Excel 单元格读取