LoopThrough函数跳过文件

时间:2017-05-31 21:24:50

标签: excel vba excel-vba

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

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

1 个答案:

答案 0 :(得分:2)

看起来您想要跳过文件cloud_controller.read is invalid. Please use a valid scope name in the request,但实际上您正在做的是在达到该文件时停止整个事件("maytt.xlsm")。要跳过该文件并继续,请对代码执行以下修改:

1-在Then Exit Sub声明之前添加一个行标签:

myFile = Dir

2-将NextFile: ' <---------Add this MyFile = Dir Loop 替换为Exit Sub