Извинения, если это уже было опубликовано - я не смог найти ни одного конкретного для Excel (также из-за моего плохого кода, я плохо знаком с VBA).Я пытаюсь объединить несколько файлов в одну рабочую книгу, под разными листами.Большинство из них работает - но в операторе If Else, если условие выполнено, цикл прерывается, а не продолжается с остальными файлами в папке.Другая часть делает петлю.Я думал, что Do While filename <> ""
переопределит оператор if / then.
У меня не получилось просто добавить «And Loop» (догадываясь, что это неверный код), так что я в растерянности из-зачто я должен добавить, или я должен идти вокруг этого другим путем.
Спасибо за вашу помощь!
Sub AllFiles()
Dim folderPath As String
Dim filename As String
Dim wb As Workbook
Dim master As Workbook
Set master = ThisWorkbook
folderPath = "C:\Users\Charmaine\Documents\Excel Files"
master.Activate
If Right(folderPath, 1) <> "\" Then folderPath = folderPath + "\"
filename = Dir(folderPath & "*.xlsm")
Do While filename <> ""
Application.ScreenUpdating = False
Set wb = Workbooks.Open(folderPath & filename)
Set wb = ActiveWorkbook
ActiveSheet.Range("F1:G242").Select
Selection.Copy
master.Activate
ActiveSheet.Paste
ActiveCell.Offset(0, 2).Select
wb.Activate
ActiveWorkbook.Saved = True
Application.CutCopyMode = False
ActiveWindow.Close
filename = Dir
If ActiveSheet.Range("R1") = "C3" Then Sheets.Add.[after].Name = valuenewsheet Else
Loop
Application.ScreenUpdating = True
End Sub