LoopThrough函数跳过文件

我是新来的网站,需要一些帮助。 我在Excel中创build了一个macros来从工作簿中的某些单元格中提取值并合并该信息。 该代码似乎工作,除了它只是拉大约一半的工作簿在文件夹中。 有谁知道为什么这样做,如何解决?

Sub LoopThroughDirectory() Dim MyFile As String Dim erow Dim Filepath As String Filepath = "T:\Sales Orders\2017\May\" MyFile = Dir("T:\Sales Orders\2017\May\") Do While Len(MyFile) > 0 If MyFile = "maytt.xlsm" Then Exit Sub End If Workbooks.Open ("T:\Sales Orders\2017\May\" & MyFile) Range("F1:F7").Copy ActiveWorkbook.Close ecolumn = Sheet1.Cells(Columns.Count).End(xlToLeft).Offset(0, 1).Column ActiveSheet.Paste Destination:=Worksheets("Summary").Range(Cells(1, ecolumn), Cells(7, ecolumn)) MyFile = Dir Loop End Sub 

它看起来像你想跳过文件"maytt.xlsm"但你实际上做的是停止整个事情( Then Exit Sub ),当文件到达。 要跳过该文件并继续,请对代码进行以下修改:

1-在myFile = Dir语句之前添加一行标签:

 NextFile: ' <---------Add this MyFile = Dir Loop 

使用Goto NextFilereplaceExit Sub