Поиск файла в папке - VBA

Узнай цену своей работы

Формулировка задачи:

В папке с:\отчеты лежат отчёты по дням: "отчёт за 16.05.2017".xls "отчёт за 15.05.2017".xls "отчёт за 14.05.2017".xls И т.д. Пишу макрос, который будет искать по маске: "отчёт за " & Date - x".xls" , за какую дату был записан последний отчёт, то есть 'x'. Перерыв в формировании отчёта может достигать 5 дней. Что мешает: не могу понять, как выйти из двух циклов после первого вхождения. У меня получается так, или не останавливается, цикл X и выдаёт последнее, а не первое совпадение, или наоборот не найдя х=1 не переходит к x=2.

Решение задачи: «Поиск файла в папке»

textual
Листинг программы
Sub vvv()
fail = Dir("с:\отчеты\отчёт за *.xls")
Do While fail <> " "
  Cells(r, 1) = fail
  r = r + 1
  fail = Dir
Loop
For x = 1 To 5
  f1 = "отчёт за " & Date - x & ".xls"
      For r = 1 To WorksheetFunction.CountA(Range("A:A"))
         If f1 = Cells(r, 1) Then n = 1: Exit For
      Next r
  If n = 1 Then Exit For
Next x
MsgBox (r)
End Sub

Оцени полезность:

11   голосов , оценка 4.091 из 5