Я работаю над макросом Excel для l oop через файлы в папке, я просматриваю файлы в поисках определенной строки в имени файла, и если он находит файл с этой строкой в его имени , он устанавливает для определенной ячейки значение 1.
Однако кажется, что после того, как он не найдет файл один раз, он больше никогда не найдет другой и никогда не установит для другой ячейки значение 1. Я проверил тестовый каталог, который использую вручную, чтобы убедиться, что на самом деле не существует никаких файлов после этого.
Вот что у меня:
'loop through files in folder checking if value in B column is present
Dim MyObj As Object, MySource As Object, file As Variant
file = Dir("dummydirectory")
Dim rng As Range, cell As Range
Set rng = Range("B164:B1533")
Dim targetcell As Range
For Each cell In rng
Do While (file <> "")
Set targetcell = cell.Offset(0, 12) 'sets targetcell 12 columns to the right of the original (B -> N)
If InStr(file, cell.Value) > 0 Then
targetcell.Value = 1
Exit Do
End If
file = Dir
Loop
Next cell
End Sub
'current issues:
'as soon as the the if statement is false once, it will never set another cell to 1
'ie: as soon as one cell is not set to 1, it stops working essentially
Я подумал, может быть, это имел какое-то отношение к месту размещения file = Dir
, я поместил его вне do l oop в оператор if, и, похоже, ничего не работает.
Мы будем очень благодарны за вашу помощь!