- ベストアンサー
Excelの複数シートを複数の新しいブックに分割する方法
- Excelの複数シートを選択し、それぞれを新しいブックに分割する方法を教えてください。
- 分割後のブック名は各シートの名前となり、保存先は最初に設定した場所になります。
- また、分割後に元のブックのシートを再び最初のシートに戻すことも可能です。これにより、作業効率が向上します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No.2です! たびたびごめんなさい。 前回のコードでは新しいBookがそのまま画面上に残りますので、 もう1行追加して↓のコードにしてみてください。 Sub test() Dim str As String str = ActiveSheet.Name Workbooks.Add.Activate Application.Dialogs(xlDialogSaveAs).Show (str) Workbooks(str).Close End Sub 何度もごめんなさいね。m(_ _)m
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! ご希望の方法とは異なるかもしれませんが・・・ アクティブSheetを「名前をつけて保存する」一例です。 単に新しいBookを追加して、それぞれのSheet名になれば良いわけですよね? データをコピーする等Sheetの操作は一切考えていません。 『言葉の種類』ブックを開いておいて保存したいSheetをアクティブにします。 その上で↓のマクロを実行してみてください。 Sub test() Dim str As String str = ActiveSheet.Name Workbooks.Add.Activate Application.Dialogs(xlDialogSaveAs).Show (str) End Sub ※ 敢えて「名前をつけて保存する」ダイアログボックスを表示させるようにしてみました。 最初に保存場所を指定すれば次からはその保存場所がダイアログボックスに表示されると思いますので、 「保存」をクリックするだけでOKだと思います。 (ダイアログボックスの「ファイル名」にはアクティブSheet名が表示されているはずです) 他に良い方法がればごめんなさいね。m(_ _)m
- mm_wanko_mm
- ベストアンサー率30% (34/111)
やり方は少し違いますがマクロを使うならこんな方法はどうでしょうか。 1)ブック内のシート名の一覧を取得する。 2)それをダイアログボックスにリスト表示もしくは作業用シートに貼り付ける。 3)その内一つを選択し、選択されたシートを新規ブックに移動もしくはコピーする。 4)シート名で保存して閉じる。 VBAがある程度使えるなら一括選択もありかもしれませんが、慣れないうちは一つずつ処理した方が安全です。 上記の手順なら1ステップずつネット検索すれば、具体的なコードは見つかります。 もし分からなければ、次回にコードを補足しますね。
お礼
早速のご回答、ありがとうございます。 そうですね、アドバイスの通り、ひとつづづ調べてみます。 (1)と(2)(作業用シートに貼りつけ)のマクロは ありますので (3)(4)を 調べてみます。
お礼
いつも ありがとうございます! できました! このマクロで、データをコピーして移動する時も大きな時短になります。 明日の作業が 楽しみです♪