- ベストアンサー
マスターエクセルファイルから複数のエクセルファイルを作成する方法
- マスターエクセルファイルから複数のエクセルファイルを作成する方法を教えてください。
- 30種類のシートを持つマスターエクセルファイルから、各シートの組み合わせで29個のエクセルファイルを作成したいです。
- 具体的には、AシートとBシートの組み合わせ、AシートとCシートの組み合わせ、AシートとDシートの組み合わせ、...というように作成したいです。マクロを使って一括で処理することは可能でしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
対象の2シートを選んでメニューの[編集]-[シートの移動またはコピー] 表示されたダイアログで、移動先ブック名:「(新しいブック)」を選択、、「コピーを作成する」にチェックを入れて<OK> 出来たブックを名前を付けて保存して閉じる。 この操作をマクロの記録でマクロ化し、後はループ処理を付け加えます。 上記をやって私なりにまとめたのが↓です。 Sub Sample() Dim i, nSheetCount As Integer nSheetCount = ThisWorkbook.Sheets.Count 'Sheetの枚数を確認 If nSheetCount < 2 Then Exit Sub 'Sheetの枚数が2未満なら終了 For i = 2 To nSheetCount Sheets(Array(1, i)).Copy ActiveWorkbook.SaveAs Filename:="子供" & (i - 1) & ".xls" ActiveWorkbook.Close Next i End Sub あくまでサンプルですので、保存時に同名ファイルが存在した時の処理などは入っていません。
その他の回答 (2)
- D-Matsu
- ベストアンサー率45% (1080/2394)
千里の道も一歩から。 ・新しいブックを作成する ・作成した新しいブックに元のブックから対象のワークシートをコピーする これができれば、あとはループで回すだけです。
- imogasi
- ベストアンサー率27% (4737/17069)
判らないが理由だろうが、丸投げで、そのコードを書かせる質問。 質問の上記(1)の操作をまず手操作でやってみて、マクロの記録を取って、どう言うコードになるか、コードが記録されないかどうかやってみること。コピーと貼り付けがメインになりそうだ。 その際操作を逐一メモしておくと役立つかも。エクセルVBAも手操作をプログラムでやる場面は多い。 その後上記(2)にするにはコードの何処を変えればよいか考えること。 その後に質問することかな。 >業務が面倒で本当に疲れます。 仕事にエクセルを使うには、表の組み換えやシートの内容の結合や分離問題などが起こり、VBAが必須と、いつもこのコーナーに書いている。時間をかけて色々やってみて、習得するほか無い。本やWEBが頼りというところが苦しいところ。 スクールででも系統立てて学び、その後、自力で応用して経験を積むというのが本道なのだと思うが。
お礼
おっしゃる通りだと感じ、自分で試行錯誤しています。