1
同様の質問がされていることは知っていますが、すべてのソリューションコードを試してみましたが成功しませんでした。私はVBAで初心者だと私は何を達成しようとしていることである:VBAがフォルダ内の各ファイルをループしています
- ファイルのコピーがsfolから、「概要」タブが存在する場合は、dfolになりました各ファイルについて
- をdfolために、セルI3を変更 dfol内の各ファイルに対して
- 、「シート2」タブが存在する場合は、変更のピボットフィルタ
コードが実行され、変更が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
追加問題:私はリンクを更新したい場合は
- ファイルが開かれるたびに、私は尋ねます。私はちょうど更新する必要はありません。
- 私も、「... 2018」、言う、であることを「... 2017」で始まるフォルダ内のすべてのファイルの名前を変更する必要があります
すべてのヘルプは大歓迎です!
私はすべてのファイルをループしていない理由を知りました。 – AppleSnapple
ファイルdirについてはわかりません。それはOKと思われますが、私はさらにテストします。 – Jeeped
はSaveAsに戻りますが、どのようにdfolに保存するよう指定できますか?あなたが言及したことは、名前を変更するのに効果的でしたが、ランダムなフォルダに保存されました。 – AppleSnapple