• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:処理方法が わかりません・・・・)

Excelの複数シートを複数の新しいブックに分割する方法

このQ&Aのポイント
  • Excelの複数シートを選択し、それぞれを新しいブックに分割する方法を教えてください。
  • 分割後のブック名は各シートの名前となり、保存先は最初に設定した場所になります。
  • また、分割後に元のブックのシートを再び最初のシートに戻すことも可能です。これにより、作業効率が向上します。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.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

p1_1q
質問者

お礼

いつも ありがとうございます! できました! このマクロで、データをコピーして移動する時も大きな時短になります。 明日の作業が 楽しみです♪

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! ご希望の方法とは異なるかもしれませんが・・・ アクティブ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

回答No.1

やり方は少し違いますがマクロを使うならこんな方法はどうでしょうか。 1)ブック内のシート名の一覧を取得する。 2)それをダイアログボックスにリスト表示もしくは作業用シートに貼り付ける。 3)その内一つを選択し、選択されたシートを新規ブックに移動もしくはコピーする。 4)シート名で保存して閉じる。 VBAがある程度使えるなら一括選択もありかもしれませんが、慣れないうちは一つずつ処理した方が安全です。 上記の手順なら1ステップずつネット検索すれば、具体的なコードは見つかります。 もし分からなければ、次回にコードを補足しますね。

p1_1q
質問者

お礼

早速のご回答、ありがとうございます。 そうですね、アドバイスの通り、ひとつづづ調べてみます。 (1)と(2)(作業用シートに貼りつけ)のマクロは ありますので (3)(4)を 調べてみます。

関連するQ&A