If you use ThisWorkbook then you are saving the workbook with the code in it rather than the new one you've created. This will be with the new name (Exceptions etc). That's why the it appears that the original workbook is being closed. The following code should do all you want.
Code:Sub SaveAs() Dim FName As String Dim FPath As String Dim NewBook As Workbook FPath = "G:\Exceptions" FName = "Exceptions" & Format(Date, "ddmmyy") & ".xls" Set NewBook = Workbooks.Add ThisWorkbook.Sheets("DataSort").Copy Before:=NewBook.Sheets(1) If Dir(FPath & "\" & FName) <> "" Then MsgBox "File " & FPath & "\" & FName & " already exists" Else NewBook.SaveAs Filename:=FPath & "\" & FName End If End Sub