我是新来的网站,需要一些帮助。我在Excel中创建了一个宏,以便从工作簿中的某些单元格中提取值并合并该信息。该代码似乎工作,除了它只是从文件夹中的大约一半的工作簿拉。有谁知道为什么它这样做,我如何解决它?LoopThrough功能跳过文件
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
它是否只从名称以字母“A”开始到“L”的文件提取? – YowE3K
您可能会考虑放置文件掩码,以便您只处理工作簿(例如'MyFile = Dir(“T:\ Sales Orders \ 2017 \ May \ *。xl *”)')。 Windows会把类似'thumbs.db'的系统文件放在一个像你一样的循环中。 – Jeeped
YowE3K - 不,似乎没有任何押韵或原因被跳过的文件。 –