You could try this to replace ALL of your code above, whether it works or not is dependent on what code is called by GetWorkbook:
For Each shtnm In Array("Food", "Non Food", "GM", "Multiprice", "All")
Set wrkMu = GetWorkbook("I:\H925 Trading Dashboard Reports\Aged Stock - Blank.xlsx")
wrkAged.Sheets(shtnm & " Aged").Copy Before:=wrkMu.Sheets(1)
If shtnm = "All" Then shtnm = "Manager"
wrkMu.SaveAs Filename:="I:\H925 Trading Dashboard Reports\" & Format(pdat, "dd.mm.yyyy") & " Aged Stock - " & shtnm & ".xlsx", Password:="danielle"
wrkMu.Close False
Next shtnm
Failing that try this:
Set wrkMu = Excel.Workbooks.Open("I:\H925 Trading Dashboard Reports\Aged Stock - Blank.xlsx")
' New Code lins to rectify finding workbook issue
Set wrkMu = GetWorkbook("I:\H925 Trading Dashboard Reports\Aged Stock - Blank.xlsx")
If Not wrkMu Is Nothing Then Debug.Print wrkMu.Name
wrkAged.Sheets("Food Aged").Copy Before:=wrkMu.Sheets(1)
wrkMu.SaveAs Filename:="I:\H925 Trading Dashboard Reports\" & Format(pdat, "dd.mm.yyyy") & " Aged Stock - Food.xlsx", Password:="danielle"
wrkMu.Close False
' Non Food
Set wrkMu = Excel.Workbooks.Open("I:\H925 Trading Dashboard Reports\Aged Stock - Blank.xlsx")
wrkAged.Sheets("Non Food Aged").Copy Before:=wrkMu.Sheets(1)
wrkMu.SaveAs Filename:="I:\H925 Trading Dashboard Reports\" & Format(pdat, "dd.mm.yyyy") & " Aged Stock - Non Food.xlsx", Password:="danielle"
wrkMu.Close False
' GM
Set wrkMu = Excel.Workbooks.Open("I:\H925 Trading Dashboard Reports\Aged Stock - Blank.xlsx")
wrkAged.Sheets("GM Aged").Copy Before:=wrkMu.Sheets(1)
wrkMu.SaveAs Filename:="I:\H925 Trading Dashboard Reports\" & Format(pdat, "dd.mm.yyyy") & " Aged Stock - GM.xlsx", Password:="danielle"
wrkMu.Close False
' Multiprice
Set wrkMu = Excel.Workbooks.Open("I:\H925 Trading Dashboard Reports\Aged Stock - Blank.xlsx")
wrkAged.Sheets("Multiprice Aged").Copy Before:=wrkMu.Sheets(1)
wrkMu.SaveAs Filename:="I:\H925 Trading Dashboard Reports\" & Format(pdat, "dd.mm.yyyy") & " Aged Stock - Multiprice.xlsx", Password:="danielle"
wrkMu.Close False
' All
Set wrkMu = Excel.Workbooks.Open("I:\H925 Trading Dashboard Reports\Aged Stock - Blank.xlsx")
wrkAged.Sheets("All Aged").Copy Before:=wrkMu.Sheets(1)
wrkMu.SaveAs Filename:="I:\H925 Trading Dashboard Reports\" & Format(pdat, "dd.mm.yyyy") & " Aged Stock - Manager.xlsx", Password:="danielle"
wrkMu.Close False
As to why it should fail sometimes on the first sheet, check that the name of the sheet is EXCATLY the same on the sheet tab and the code; no leading or trailing spaces. Take out any On Error Resume Next lines and tell us what error is thrown up.
I see you directly copy a sheet to a workbook Aged Stock - Blank.xlsx; is there anything special in this file before it's copied to (other sheets of importance?)? If not then it will be much simpler to create and save new workbooks from scratch rather than find a blank workbook.