循环浏览包含路径和名称的工作簿

时间:2018-07-31 08:40:17

标签: excel vba excel-vba loops directory

我每年的每个星期都有一本工作簿。 我有这些工作簿多年。 我想从每个工作簿和每个工作表中收集数据。 从每个工作表收集数据已经可以正常工作了。

结构是这样的

  • 年份-不同的文件夹
  • 周-其他工作簿
  • 日期-不同 工作表

我正在努力遍历工作簿。 工作表已经解决。 我想结合年份和星期,并使用工作簿路径来实现。

Workbooks.Open ("L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME 2017\Aanvragen ME week 01.xlsx")

我已经尝试使用整数来遍历多个文件,这似乎不起作用。我还尝试设置一个数组,但是到那时我似乎无法合并工作簿路径-(我使用了区分年份的路径。

Dim i As Integer

For i = 1 To 9
Application.ScreenUpdating = False

    Workbooks.Open ("L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME 2017\Aanvragen ME Week 0i.xlsx")
    Windows("Aanvragen ME Week 0i.xlsx").Activate
    Sheets("Vrijdag 1").Select
    Range("A66:I77").Select
    Selection.Copy
    Windows("Book5").Activate

两者之间的代码,查找其他数据

 Sheets("PLANT 1 & 2").Select
    Range("C3").Select
    Selection.End(xlDown).Offset(0, -1).Select
    Selection = "Week0i"
    Range("C3").Select
   Selection.End(xlDown).Offset(0, -1).Select
   Range(Selection, Selection.End(xlUp)).Select
    Selection = "Week0i"

    Windows("Aanvragen ME Week 0i.xlsx").Activate
    ActiveWorkbook.Application.CutCopyMode = False
    ActiveWorkbook.Close SaveChanges:=False

Next i 

有什么办法解决这个问题吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

下面是一个示例,该示例说明了如何循环浏览数年和数周以生成路径:

Sub Test()
    Dim iYear As Long
    Dim iWeek As Long

    For iYear = 2015 To 2017
        For iWeek = 1 To 52
            Debug.Print "L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME " & iYear & "\Aanvragen ME week " & Format(iWeek, "00") & ".xlsx"
            'add your code here
        Next iWeek
    Next iYear
End Sub

您可能还需要阅读:How to avoid using Select in Excel VBA

请注意,我使用Format(iWeek, "00")以两位数字的格式获取星期数。

结果将是这样的:

L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME 2015\Aanvragen ME week 01.xlsx
L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME 2015\Aanvragen ME week 02.xlsx
L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME 2015\Aanvragen ME week 03.xlsx
L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME 2015\Aanvragen ME week 04.xlsx
L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME 2015\Aanvragen ME week 05.xlsx
L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME 2015\Aanvragen ME week 06.xlsx
L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME 2015\Aanvragen ME week 07.xlsx
L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME 2015\Aanvragen ME week 08.xlsx
L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME 2015\Aanvragen ME week 09.xlsx
L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME 2015\Aanvragen ME week 10.xlsx
L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME 2015\Aanvragen ME week 11.xlsx
L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME 2015\Aanvragen ME week 12.xlsx
…
L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME 2017\Aanvragen ME week 50.xlsx
L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME 2017\Aanvragen ME week 51.xlsx
L:\Chemical_Mfg\Aanvragen CA\Aanvragen ME 2017\Aanvragen ME week 52.xlsx