File Management & Batch Processing
Intermediate
File Organiser
Organise files into folders based on criteria like date or content
14 views
Perfect For:
- Sort files by date
- Organise by type
- Archive old files
VBA Code
Sub OrganizeFilesByDate()
Dim sourceFolder As String
Dim fileName As String
Dim fileDate As Date
Dim yearFolder As String
Dim monthFolder As String
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
sourceFolder = InputBox("Enter source folder path:")
If sourceFolder = "" Then Exit Sub
fileName = Dir(sourceFolder & "\*.*")
Do While fileName <> ""
fileDate = FileDateTime(sourceFolder & "\" & fileName)
yearFolder = sourceFolder & "\" & Year(fileDate)
monthFolder = yearFolder & "\" & Format(fileDate, "MM-mmmm")
' Create folders if they don't exist
If Not fso.FolderExists(yearFolder) Then fso.CreateFolder yearFolder
If Not fso.FolderExists(monthFolder) Then fso.CreateFolder monthFolder
' Move file to appropriate folder
fso.MoveFile sourceFolder & "\" & fileName, monthFolder & "\" & fileName
fileName = Dir()
Loop
MsgBox "Files organised by date!"
End Sub
Related Topics
organise
folders
sorting
archive
Need Custom VBA Solutions?
Our AI-powered VBA generator can create custom code tailored to your specific requirements in seconds.
Generate Custom VBA CodeRelated Templates
More VBA templates in the same category
Advanced
File Management & Batch Processing
Process multiple files and organize workbooks
View Template