Thanks for marking the post as solved 
lol, be careful what you wish for - anything's possible!
Where did you say your office was...? 
Ummm, Every reference to a range without a preceding workbook & worksheet (& in some cases a parent Excel App) can be considered "unqualified" which is why I've tied everything in using With statements. When Range statements are not "explicitly qualified" they default to the active sheet. My "ummm" is because I'm not sure why this would cause a problem in your situation where everything is done in one file & the focus is not changed during the macro...?
Perhaps it has something to do with the FTP, I'm not exactly sure of the context or of FTP, so I'm sorry I can't provide a clear answer.
On glancing at the code again, I would make a few changes as below & have included stream of consciousness comments too.
Sub Modified_garblednewfile_V2()
Dim PatientSht As Worksheet
Dim RowsInSht As Long
Dim FileNameForSaving As String
With ActiveWorkbook
'I've left the following save, but can't see value in it being here - unless _
the file has been previously populated with data?
.Save ' is this needed?
Set PatientSht = .Worksheets("Find a patient")
With PatientSht
ChDir .Range("B54").Value2
FileNameForSaving = .Range("B55").Value2 & .Range("B56").Value2 & .Range("B57").Value2 & Format(Date, " mmmyyyy") & ".xls"
RowsInSht = .Rows.Count 'this makes the below ranges more flexible (than 65536) for a future move to Excel 2007 & beyond
End With
'edit:I typed the below comments before moving the Saveas to the end of the macro - so the below comments are redundant. end edit.
'RB: while looking for possible reasons, I considered that the "object invoked" may "disconnect" during the save as, so it _
may be better to use two "With Activeworkbook clauses rather than one. To test this, uncomment the next two lines.
'end with
'With ActiveWorkbook
'RB: I've changed the code to ".clearcontents" but for the next two lines of code, would it be okay to use ".entirerow.delete"
'this may prevent "bloat" in some files which have fewer rows of data, but are the same file size, _
because the formatted range extends beyond the last row of data due to previous file sizes... (just a thought)
.Worksheets("data").Range("B4:F" & RowsInSht).ClearContents
.Worksheets("followup").Range("B2:F" & RowsInSht).ClearContents
.Worksheets("Find a patient").Range("I14").ClearContents
With PatientSht
.Select
.Range("I23").ClearContents
End With
Set PatientSht = Nothing
.SaveAs Filename:=FileNameForSaving, FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
.Close savechanges:=False
''RB: potentially the above two lines could be shortened to the below BUT (I'm not sure?), it may not _
choose the other parameters as they are defined in the ".saveas" line (check out the Help files)
'.Close savechanges:=False, Filename:=FileNameForSaving
End With
End Sub
hth
Rob
Bookmarks