循环一个稍微改变的循环 - 打开文件夹和文件,然后再次执行相同的循环,但打开下一个文件夹中的文件

时间:2014-11-19 15:41:48

标签: excel vba excel-vba

我是VBA的新手并希望得到一些帮助。我不认为这很难,只是因为我的知识限制了我!

我创建了以下子目录来打开文件夹" beamresult \ 1"中包含* 100的文件,效果很好。 但是,我的挑战是,我有12个不同的文件夹,我希望打开文件。 另外,在这些文件夹中,我想打开不同的文件* 100,* 200,...,* 900。

所以在某种程度上我想将这个子文件从文件夹1循环到12.在所有这些文件夹中打开所有文件并进行编辑。

(在完整子版本中,在编辑我的文件之前有很多代码,但是应该对所有文档进行相同的编辑。)

希望有人知道如何解决这个问题!

Sub OpenFiles()
'opens all files in a folder
Dim MyFolder As String
Dim MyFile As String

MyFolder = "C:\Beamresults\1"
MyFile = Dir(MyFolder & "\*100.xls")

Do While MyFile <> ""

Workbooks.Open Filename:=MyFolder & "\" & MyFile

MyFile = Dir

Loop


End Sub

1 个答案:

答案 0 :(得分:0)

Sub OpenFiles()

    'opens all files in a folder
    Dim MyFolder As String
    Dim MyFile As String
    Dim x as Long

    For x = 1 to 12
        MyFolder = "C:\Beamresults\" & x
        MyFile = Dir(MyFolder & "\*" & x & "00.xls")

        Do While MyFile <> ""

            Workbooks.Open Filename:=MyFolder & "\" & MyFile
            'process and close file

            MyFile = Dir

        Loop
   Next x

End Sub