我的文件夹包含很多文件。我每个月都有类似的文件夹。数据文件具有相同的名称,但它们位于不同的文件夹中。我想要的是将上个月的数据文件的特定列(计算结果)复制到新月的数据文件。如何摆脱这种无限循环?
我的代码
Dim fileName1, Pathname1 As String
Pathname1 = "c:\Charts\1\"
For Each vFile1 In vArr1
fileName1 = Dir(Pathname1 & vFile1 & "\" & "*.xlsx")
Do While fileName1 <> ""
Set WB1 = Workbooks.Open(Pathname1 & vFile1 & "\" & fileName1)
WB1.Application.ScreenUpdating = False
WB1.ActiveSheet.Columns("M").Copy
WB1.Close (False)
For Each vFile In vArr
fileName = Dir(Pathname & vFile1 & "\" & "*.xlsx")
If fileName = fileName1 Then
Set WBD1 = Workbooks.Open(Pathname & vFile1 & "\" & fileName1)
WBD1.ActiveSheet.Columns("C").Select
WBD1.ActiveSheet.Paste
WBD1.Close (True)
Else
End If
Next
Loop
Next
我在做什么是 1.打开一个文件
副本列
检查文件名是一样的
如果他们是相同的粘贴复制的数据
该循环得到无限。 我调试了并找不到它 请帮忙
你确定它是一个无限循环,而不仅仅是一个非常低效的算法,正在服用一种很长的时间? –
雅我试过......它无限的去。一旦条件得到满足,它会发生什么,它不会移动到第二个文件。一次又一次检查同一个文件。我认为它是因为文件已关闭。 –