Excel2007から通常のブックとマクロを含むブックは、異なる拡張子で保存するようになっています。
Excel2003までは、そのままマクロを含めて保存できたのですけどね。
Excel2007から HasVBProjectプロパティが追加されました。
アクティブブックがマクロを含んでいるかどうか確認して、マクロを含む場合は「Excelマクロ有効ブック」、含まない場合は「Excelブック」として保存するように「名前を付けて保存」ダイアログボックスを表示したいときは、↓のようにします。
Sub ダイアログボックスを表示して保存()
With Application.FileDialog(msoFileDialogSaveAs)
If ActiveWorkbook.HasVBProject Then
.FilterIndex = 2
Else
.FilterIndex = 1
End If
If .Show = -1 Then .Execute
End With
End Sub
FilterIndexの番号は、名前を付けて保存」ダイアログボックスの「ファイルの種類」の一覧の上から順に1、2、3となります。