>あるエクセルファイルをシート毎にセーブする
そのエクセルファイルは、どのようにしてそこにあるんでしょうか?
(1)既存のファイルを開いたものなのか、
(2)templateを指定してWorkbooks.Addを使って新たに作成したファイルなのか、
といった状況によるでしょう。(たいていは(1)でしょう。(2)も無くはないのかも知れない)
(1)なら素直にActiveWorkbook.Pathとすれば、そのパスが得られます。
(2)なら、ActiveWorkbook.Pathが "" を返します。
その場合は、カレントフォルダ(CurDir)にそのまま保存してしまうか、
別途、フォルダを指定させるかでしょう。
コードにすれば、こんな感じですか?
Sub test()
Dim ws As Worksheet
Dim strPath As String
If ActiveWorkbook.Path = "" Then
strPath = CurDir
'別途フォルダを指定させてもよいでしょう。
Else
strPath = ActiveWorkbook.Path
End If
For Each ws In Worksheets
ws.Copy
ActiveWorkbook.SaveAs strPath & "\" & ws.Name
ActiveWorkbook.Close
Next
End Sub
なお、xlsx形式のブックに保存する前提です。