1
循環通過每一個文件,我知道類似的問題已經被問過,但我已經嘗試沒有成功的所有解決方案的代碼。我在VBA初學者,我試圖做到的是:從SfoI位VBA文件夾
- 將文件複製到dfol
- 對於每個文件現在dfol,如果「摘要」選項卡存在,改變細胞I3
- 對於dfol每一個文件,如果「Sheet2的」標籤存在,改變樞過濾
代碼運行和變化是完全在dfol的第一個文件,但它甚至不打開每個其餘的的文件。我需要它來打開每個文件。另外,作爲一個側面說明,在結束最後MSGBOX不彈出,所以我想代碼甚至不運行它的全部課程。
Sub GenerateReports()
'Generate Seed Run Validation Reports Macro
Dim wb As Workbook
Dim MainFile, dfol, sfol As String
Dim vDate, Fname, myExtension As String
Dim wsCount As Integer
Dim fso
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'Confirm the user wants to proceed
If MsgBox("Compile?", vbYesNo) = vbNo Then Exit Sub
'Define current workbook
MainFile = ThisWorkbook.Name
'Define Dates
vDate = "Potato"
'Set file path
sfol = "I:\ABCFolder"
dfol = "I:\DEFFolder"
'Copy all files from source folder
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFolder sfol, dfol
'Target Path with extension
myExtension = "*.xls*"
dfol = dfol & "\"
Fname = Dir(dfol & myExtension)
'Loop through files in folder
Do While Fname <> ""
Set wb = Workbooks.Open(fileName:=dfol & Fname)
'Ensure workbook opened
DoEvents
wsCount = wb.Worksheets.Count
For i = 1 To wsCount
'Update Date on Summary tab
If wb.Worksheets(i).Name = "Summary" Then
wb.Worksheets(i).Range("I3") = vDate
End If
Next i
'save changes and close
wb.Close SaveChanges:=True
'Ensure workbook closed
DoEvents
'Get next file name
Fname = Dir
Loop
'***************************** End of Macro ***************************
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox ("Assumptions Compiled!")
End Sub
其他問題:
- 每一個文件被打開的時候,有人問我,如果我想更新鏈接。我需要它只是不更新。
- 我還需要在文件夾中的所有文件重命名開頭「2017年......」是,比如說,「2018 ......」
任何幫助,不勝感激!
謝謝:)現在,只要找出它爲什麼不循環所有的文件... – AppleSnapple
我不知道有關文件目錄。它看起來不錯,但我會進一步測試。 – Jeeped
要回另存爲,我怎麼可以指定它被保存在dfol?你提到的重命名偉大的工作,但它被保存到一個隨機文件夾。 – AppleSnapple