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

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

処理方法が わかりません・・・・

ひとつのブックに、エクセルの表が70シートあるものを、ひとつづつ、新しい70のブックにする作業をしています。 ひとつづつではなく、 シートタブで選択した複数のシートを、それぞれひとつづつの、複数の新しいブックにする操作方法か、マクロを教えて下さい! 例: 『言葉の種類』という名前のブックに、70シートあります。 (1)例えば、最初から順に3シートをシートタブで選択して、操作かマクロを実行すれば、新しい3つのブックができる。 (2)それぞれのシート名が、新しいブック名になる。 (3)保存先は、最初に設定した場所に入る。 (4)セルの位置を、『言葉の種類』ブックの、最初のシートに戻す。 これが出来れば、大きな時短になるということで、ネットでずっと調べていますが、似たような方法がなく、 途方に暮れています。 どうか、よろしくお願い致します。

  • p1_1q
  • お礼率95% (39/41)

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

  • ベストアンサー
  • 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

  • 複数のシートタブに順番に日付を入れたい。

    複数のシートタブに順番に日付を入れたい。 複数シートタブに日付(7.12などのように)を(カレンダーの月曜日、水曜日などの順に数ヶ月分)順番に入れたいのです。 シートの数は1ブックあたり30シート程です。 今は全て手動で行っていますが、能率が上がりません。ブックが40枚程あってそれぞれに 入力をしないといけません。自動にする方法がありませんでしょうか?

  • 保護及び保護の解除を一括して処理する方法のご教示を。

    1個のブックに、30シート作成してあります。(増減の可能性があり最終が何シートになるかわかりません) シート名は、数字単体名と漢字名のものとが混在しています そのようなブックが多数あります 各シートに保護が掛けてあります 訂正などする時の為に、保護と保護解除をマクロで組み、各シートにマクロボタンで操作するようにしてあります しかし、ブック全体を修正す時に各シートの保護をいちいち解除しなければなりません。 そこで、一括して保護及び保護の解除をしたいので、その方法を御教示下さい。 1.ブック単位で、各シートの保護及び保護の解除を一括でする。 2.シート毎に保護及び保護の解除する場合は現在のマクロを使用したい 上記のような条件で、各ブック共通のマクロの作成を御教示御願い致します

  • 同一ファイルにある複数の一つにまとめる方法

    エクセル2013を使用しています。 既出の質問かもしれませんが調べている時間があまりないため、 どなたかご教授いただけますでしょうか。 こんなことが可能かどうかはわからないのですが、ご回答いただけると幸いです。 一つのファイルの中に、毎日集計をとっている31個のBOOKが入っています。 ファイル名は、「2014.07.01大阪(1)」、「2014.07.02大阪(1)」というように31種類の日付で作成をしてあり合計で31つあります。 集計というBOOKをつくっておき、ここに32個のシートを作成します。 シート名は「2014.07.01」「2014.07.02」と日付を続け、一番最初には「集計」シートがあります。 作りたいマクロが、 2014.07.01大阪(1)のデータは2014.07.01のシートに 2014.07.02大阪(1)のデータは2014.07.02のシートに これを31日分、シート全体を貼り付けたいのです。 各BOOKにはシートが複数あり、Sheet1のみ貼り付けたいです。 なおかつ、計算式が入っているため、値にして貼り付けれれば理想的です。 よろしくお願いいたします。 わかりにくいかもしれませんが、よろしくお願いいたします。

  • Excel VBAで他のブックを選択する方法を教えてください。

    こんにちは。VBA初心者です。 ブックを2つ開いた状態で、 マクロを保存してあるブック〔Book1〕から、 毎回ブック名が異なる[Book2]の選択されている2枚のシートを新しいブックに(仮Book3)コピーしたいのですが、どのように記述したらよいのでしょうか。(選択されるシートも毎回異なります。) 特に教えていただきたい部分は、 1.マクロが記録されているBOOK1以外のBookを操作する方法。 2.私以外の方が利用する為、Book1に保存したマクロから実行させる予定なのですが、Book1を毎回開いて実行させる方法がベストのやり方なのでしょうか。 マクロの記録では下記の感じになります。 Sub Macro4() Windows.Arrange ArrangeStyle:=xlVertical Windows("Book2.xls").Activate Sheets(Array("Sheet3", "Sheet4")).Select Sheets("Sheet4").Activate Sheets(Array("Sheet3", "Sheet4")).Copy End Sub 宜しくお願い致します。

  • 【Excel】 40枚のシートタブを表示する方法

    こんにちは。 ファイルに40枚ものシートができてしまいました。 離れたシートに移動するのにスライドバーで該当シートタブを表示してからシートをクリックしています。 「シートの選択」も別のウインドーを表示しなければならないので同じくらい手間が掛かります。 Windowsのタスクバーを二段表示するように、Excelのシートタブも2段表示するなどして、 常に全てのシートタブが表示できる方法は無いでしょうか。 ご存じでしたら教えてください。 シート名はできるだけ短くしています。 Excelは2003です。

  • 【Excel VBA】シート見出しの色を変更する

    Excel2003を使用しています。 シート数が10数枚のBookが複数あり、これらのBookで、シートのデータが変更されたら、シート見出しに色を付けるマクロを作りたく、とりあえず、マクロの記録をとってみました。 マクロの記録で、シート見出しの色を変更するコードや複数のシートを選択するコードはわかりましたが、実際にしたいことは、シート名が4桁の数値のシートにだけ、このマクロが実行されるようにしたいのです。このようなことは可能でしょうか?可能であれば、どのようにコードを記述すればいいでしょうか? よろしくお願いします。

  • Excel VBA 複数ブックのシート結合方法

    複数ブックの特定のシート(都度指定)のみを結合するマクロを組みたいです。 例えば、「ファイルマージ前」というフォルダがあって、その中には数値のみ違う同フォーマットのアンケート集計結果が保存されています。 このフォルダ内には50ほどのブックが保存されていて、そのブック内の「N表」というシート(50あるブック内全てに存在するシート)を新規ブック(マクロを組み込むブック)の1シートに上から順に値コピーしていきたいです。 今後、別の機会でファイルマージが必要になった際にも使用出来る様に、シート名を都度指定(セルにシート名を入力して、そのシート名を参照する等)出来るようにしたいのですが、自分の知識とネット等で調べた情報のみではうまく作成出来ませんでした。 詳しい方のお知恵をお借りしたいです。 宜しくお願い致します。

  • 複数のファイルに同様の処理

    複数のファイルに同様の処理 複数のエクセルファイル(ブック)があります。測定データを管理しているもので、どのファイルも同じ表、同じレイアウトが使われていて、表内の値などが違うだけになっています。 すべてのブックの表題を同じように変更したり、日付を同じように変更したりしたいのですが、何か良い方法はないでしょうか? 「一つのブックに複数のシート」で処理してやれば「作業グループ」で処理できることはわかっているのですが、ファイルの管理上複数のブックにしておく必要があります。 なので、一度「複数のブック」を「一つのブック、複数のシート」にまとめて、元に戻す、などといった処理をしてくれるようなソフトでもあれば・・・。とも思っているのですが。 マクロを自分で組む技量がありません。 何か良い方法がありましたら、ご教授ください。

  • EXCELでのシートの再表示(マクロ)

    あるエクセルのブックで、マクロを使い、複数のシートを非表示にしていました。 うっかり、そのマクロを削除してしまいました。 非表示にしたシートを、再表示する方法をお教えください。 なお、非表示にしたシートは、複数あり、シート名も不確かです。 よろしくお願いします。

  • EXCELのシートのマクロ操作について

    EXCELについて質問がありまして、よろしくお願いします。 複数のシートがあるブックがあり、それを、それぞれシートごとに別のブックにしたいと思っています。 マクロやVBAなどを使って簡単に出来るものでしょうか? マクロ集などのサイトを探してみましたが、上手く見つけることができませんでした。 シート名をブック名として引き継いで保存できればベターだと思っております。それが出来なくてもブックとして起こせれば大丈夫です。 何かわかられましたらお教えいただけますと幸いです。 どうぞよろしくお願いします。