- ベストアンサー
Excelのファイルからシート毎にファイルを作成する方法
複数のシートで構成されているひとつのExcelファイルからシートごとに分割してファイルを作成(保存したいです) 具体的には、 ファイル名 file.xls 含まれているシート Sheet1 Sheet2 Sheet3 このfile.xlsから自動でSheet1.xls Sheet2.xls Sheet3.xlsという ファイルを作成してそれぞれのシートだけを保存する方法があれば教えてください。 標準の機能でなければ、フリーソフトなど別のソフトを使った方法でもかまいません。
- みんなの回答 (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化したもの)です。他にもやり方があると思いますが、一番コードが短いかなと思う。
その他の回答 (2)
- higekuman
- ベストアンサー率19% (195/979)
#1さんのおっしゃることが理解できていないみたいですね。 > 手動では、このとおりにすればできますね。 > シートの数が多いので、自動化マクロを作る方法を考えます。 だから、手動でできるその操作を、マクロに自動記録すれば良いのです。
お礼
ご回答ありがとうございました。 調べてみたらマクロの記録をしてそのコードを変えていく、と言う作業でマクロができることがわかりました。
- marbin
- ベストアンサー率27% (636/2290)
シートタブを右クリック ↓ 移動またはコピー ↓ 移動先ブック名:Book1 「コピーを作成する」にチェック ↓ OK でシートをブックとして保存できます。 自動化するならVBAになります。 マクロの自動記録である程度のコードが得られますので 改造します。
お礼
ご回答ありがとうございました。 手動では、このとおりにすればできますね。 シートの数が多いので、自動化マクロを作る方法を考えます。
お礼
ご回答ありがとうございました。 コードまでかいていただいて助かりました。 早速、貼り付けて使わせていただきます。