У меня есть набор файлов, которые я хочу прокрутить с именами файлов: Бюджет 2015, Бюджет 2016, Бюджет 2017 до 2022. Я прокручиваю их, используя Dir.Вопросы относительно Dir VBA
Dim OpenWb as workbook
path = Dir("C:\pathtofile\Budget 20??.xlsx") 'Using the ? Dir Wildcard
filepath = "C:\pathtofile\" 'Since Dir returns file name, not the whole path
myHeadings = Split("Januari,Februari,Mars,April,Maj,Juni,Juli,Augusti,September,Oktober,November,December", ",")
j = 0
Do While Len(path) > 0
i = 0
If Dir = "Budget 2014.xlsx" Then
j=0
Else
For i = 0 To UBound(myHeadings)
Set openWb = Workbooks.Open(filepath & path)
MsgBox Len(path)
Set openWs = openWb.Sheets(myHeadings(i))
If openWs.Range("C34") = 0 Then
currentWb.Sheets("Indata").Cells(70, i + 27 + 12 * (j + 1)).Value = ""
Else
currentWb.Sheets("Indata").Cells(70, i + 27 + 12 * (j + 1)).Value = openWs.Range("C34")
End If
Next i
End if
path = Dir
j= j + 1
Loop
Беда в том, что в FilePath есть также файл под названием Бюджет 2014, который я не хочу перебрать, потому что 1) Это не обязательно, значения вычисляются уже и 2) Поскольку он щурит мой индексы в петле
Обновлен мой код. Но использование msgBox (path) внутри цикла i = 0 ... возвращает «Budget 2014.xlsx», который мне не нужен, и, следовательно, это «беспорядок» с моим j индексом.
Я думаю, что вы будете иметь, чтобы добавить, если условие внутри контура – chancea