Thanks to both of you. This is great. I have a problem linking to the file though. Could you please have a check at my revised code?
I get a "Run-time error '5': Invalid procedure call or argument" error :/
Sub Calendar()
'Declare and set Variables
Dim cTarg As Workbook
Dim nTarg As Workbook
Dim Dest As Workbook
Set Dest = ThisWorkbook
Dim ws As Worksheet, ws2 As Worksheet
Set ws = Dest.Sheets("Data")
Dim lr As Long
Dim cMnth As String
Dim nMnth As String
cMnth = Format(Date, "mmmm")
nMnth = Format(DateAdd("m", 1, Date), "mmmm")
Dim cYear As String
cYear = CStr(Year(Date))
Dim cPath As String
Dim nPath As String
'change the next two lines to reflect your path.
cPath = ActiveWorkbook.Path & "\" & cYear & "\" & cMnth & "\"
nPath = ActiveWorkbook.Path & "\" & cYear & "\" & nMnth & "\"
Dim cFile As String
Dim nFile As String
Application.ScreenUpdating = False
'OPEN Excel Files
cFile = Dir(cPath & "*.xls*")
lr = 2
Do While Len(cFile) > 0
Set cTarg = Workbooks.Open(cPath & cFile)
Set ws2 = cTarg.Sheets(1) 'Change this if you are using a different sheet name.
Dest.Sheets("Data").Range("A" & lr).Formula = ws2.Range("C5").Value
ws.Hyperlinks.Add ws.Range("B" & lr), "", cPath & cFile, "", ws2.Range("C7").Value
'ws.Range("B" & lr).Value = cTarg.Name
ws.Range("C" & lr).Value = ws2.Range("C110").Value
ws.Range("D" & lr).Value = ws2.Range("F16").Value
ws.Range("E" & lr).Value = ws2.Range("F10").Value
ws.Range("F" & lr).Value = ws2.Range("F7").Value
ws.Range("G" & lr).Value = ws2.Range("F8").Value
ws.Range("H" & lr).Value = ws2.Range("F14").Value
lr = lr + 1
cTarg.Close False
cFile = Dir
Loop
nFile = Dir(nPath & "*.xls*")
Do While Len(nFile) > 0
Set nTarg = Workbooks.Open(nPath & nFile)
Set ws2 = nTarg.Sheets(1) 'Change this if you are using a different sheet name.
Dest.Sheets("Data").Range("A" & lr).Formula = ws2.Range("C5").Value
ws.Range("B" & lr + 1).Value = nTarg.Name
ws.Range("C" & lr + 1).Value = ws2.Range("C110")
ws.Range("D" & lr + 1).Value = ws2.Range("F16")
ws.Range("E" & lr + 1).Value = ws2.Range("F10")
ws.Range("F" & lr + 1).Value = ws2.Range("F7")
ws.Range("G" & lr + 1).Value = ws2.Range("F8")
ws.Range("H" & lr + 1).Value = ws2.Range("F14").Value
lr = lr + 1
nTarg.Close False
nFile = Dir
Loop
Application.ScreenUpdating = True
End Sub
Bookmarks