I was looking at this just now. May not be the best solution but thought i would share it anyway:
Sub Report()
Dim Wb As Workbook
Dim dateStr As String
Dim NewWorkBookName As String
Dim Links As Variant
Dim i As Integer
Dim v As Variant, ws As Worksheet
Dim tmpV As Variant
With Application
.ScreenUpdating = False
.DisplayAlerts = False
.EnableEvents = False
End With
ReDim v(1 To Sheets.Count)
For Each ws In ThisWorkbook.Worksheets
If LCase(Left(ws.Name, 7)) = "general" Then
x = x + 1
v(x) = ws.Name
Else
v(x) = v(x) & "," & ws.Name
End If
Next ws
Set Wb = ActiveWorkbook
dateStr = Format(Date, "MM-DD-YYYY")
For a = 1 To x
tmpV = Split(v(a), ",")
NewWorkBookName = tmpV(0)
For t = 1 To UBound(tmpV)
tmpV(t - 1) = tmpV(t)
Next t
ReDim Preserve tmpV(UBound(tmpV) - 1)
Wb.Sheets(tmpV).Copy
With ActiveWorkbook
Links = .LinkSources(xlExcelLinks)
If Not IsEmpty(Links) Then
For i = 1 To UBound(Links)
.BreakLink Links(i), xlLinkTypeExcelLinks
Next i
End If
End With
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & NewWorkBookName & " " & dateStr
ActiveWorkbook.Close
Next a
With Application
.ScreenUpdating = True
.DisplayAlerts = True
.EnableEvents = True
End With
End Sub
Hope this helps