|
楼主 |
发表于 2017-1-22 15:40
|
显示全部楼层
Sub test()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim p, f1, f2, f1name, f2name
p = "C:\Users\tangsheng\Desktop\2017-1\2017-1\" '假设文件所在的文件夹
f1 = Dir(p & "\数据1-*.xls") '如果是2003版的,请改为""*.xls"
f2 = Dir(p & "\数据2-*.xls")
Do
Workbooks.Open (p & f1)
Workbooks(f1).Worksheets(1).Range("I22").Select
f1name = Right(f1, 8)
Do While f2 <> ""
f2name = Right(f2, 8)
If f1name = f2name Then
Workbooks.Open (p & f2)
Workbooks(f2).Worksheets(1).Columns(2).Copy Workbooks(f1).Worksheets(1).Columns(3).Offset(0, 1)
Workbooks(f2).Close False
Workbooks(f1).Close True
End If
f2 = Dir
Loop
f1 = Dir(p & "\数据1-*.xls")
f1 = Dir
Loop Until f1 = ""
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
为什么我f1再运行第二个文件的时候,就不进入f2的do循环了呢?
|
|