プロが教える店舗&オフィスのセキュリティ対策術

複数のシートで構成されているひとつのExcelファイルからシートごとに分割してファイルを作成(保存したいです)

具体的には、

ファイル名 file.xls
 含まれているシート Sheet1 Sheet2 Sheet3

このfile.xlsから自動でSheet1.xls Sheet2.xls Sheet3.xlsという
ファイルを作成してそれぞれのシートだけを保存する方法があれば教えてください。

標準の機能でなければ、フリーソフトなど別のソフトを使った方法でもかまいません。

A 回答 (3件)

>シートの数が多いので、自動化マクロを作る方法を考えます。


手作業でするのが面倒と思えば、VBAでやらせるほかありません。
ーーー
VBAの経験はありますか。マクロの記録の回答に対し、反応が鈍いところ、質問も丸投げ的なことからも、経験が少ないのでは。多くの経験が必要です。
参考までに、私としては苦心したコードを挙げておきますが、判ってもらえるのかどうか。
Sub test02()
Dim wb1 As Workbook
Set wb1 = ActiveWorkbook
s = wb1.Sheets.Count
MsgBox s & "枚"
For i = 1 To s
Workbooks.Add.SaveAs Filename:="AD" & i & ".xls"
wb1.Worksheets(i).Copy before:=Workbooks("AD" & i & ".xls").Worksheets(1)
Workbooks("AD" & i & ".xls").Worksheets(1).Name = "ADS" & i
Next i
End Sub
ーー
質問のファイル名 file.xlsに当たるブックの標準モジュールに上記を貼り付けます。
上記では新しく出来たブックの名前は"AD" & i & ".xls"で規定されます。適当に変えてください。
新しく出来たブックのシート名は上記では、Name = "ADS" & i
で規定されます。シートが皆同じでよければ定数だけにしてください。
以上は、シートのコピーというエクセルの良く使う機能を使ったもの(操作をVBA化したもの)です。他にもやり方があると思いますが、一番コードが短いかなと思う。
    • good
    • 4
この回答へのお礼

ご回答ありがとうございました。
コードまでかいていただいて助かりました。
早速、貼り付けて使わせていただきます。

お礼日時:2008/05/17 05:29

#1さんのおっしゃることが理解できていないみたいですね。



> 手動では、このとおりにすればできますね。
> シートの数が多いので、自動化マクロを作る方法を考えます。

だから、手動でできるその操作を、マクロに自動記録すれば良いのです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
調べてみたらマクロの記録をしてそのコードを変えていく、と言う作業でマクロができることがわかりました。

お礼日時:2008/05/17 05:29

シートタブを右クリック



移動またはコピー

移動先ブック名:Book1
「コピーを作成する」にチェック

OK

でシートをブックとして保存できます。
自動化するならVBAになります。

マクロの自動記録である程度のコードが得られますので
改造します。
    • good
    • 3
この回答へのお礼

ご回答ありがとうございました。
手動では、このとおりにすればできますね。
シートの数が多いので、自動化マクロを作る方法を考えます。

お礼日時:2008/05/10 11:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!