• ベストアンサー

エクセル シートをブックに分ける方法

エクセル2003を使用しています。 ひとつのブックに、シートA、B、C とある場合、 それを、シートAだけのブック(ファイル)、 シートBのファイル、シートCのファイル というように、一気にファイルに分けることは可能でしょうか? できれば、ファイル名=シート名で、設定できるとうれしいです。 可能でしたら、方法を教えてください。 よろしくお願いいたします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

そういう方法はありませんが,まぁ次のようにするとできます。 手順: ブックを保存しておき,閉じて開き直す ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub macro1() dim s as worksheet for each s in worksheets s.copy activeworkbook.saveas s.name activeworkbook.close false next end sub ファイルメニューから終了してエクセルに戻る ALT+F8を押し,いま登録したマクロ1を実行する。

hakkeijima
質問者

お礼

ご回答ありがとうございました。 お陰さまで、一気に処理できました。 お礼が遅くなり、大変申し訳ありませんでした。

その他の回答 (1)

  • violet430
  • ベストアンサー率36% (27472/75001)
回答No.1

自動で実行したいという意味ですか? 手動でなら、編集 - シートの移動またはコピー として、新しいブック を選んでシートを分割できますが。

hakkeijima
質問者

お礼

ご回答ありがとうございました。 お礼が遅くなり、申し訳ありませんでした。

関連するQ&A

  • エクセルのブックとシートを動的にリンクさせるには?

    お世話になります。エクセル初心者です。現在はWindowsXPでエクセル2003を使用しています。 皆様のお知恵をお借りしたくこちらに質問させていただきます。 エクセルファイル内の各シートから集約用に作ったシートにVLOOKUP等で集積させて数値の推移を図るファイルを作っています。 データ量が多くかつ、書式を少なめに使っているのですが、エクセルの書式等が認識できる許容範囲を超えてしまい、やむおえず一部データを同じフォルダ内に別ブックを作ってそちらに分割保管(Aというファイルがデータ集積表示用なのですが、Aに入れたい各データのシートが許容オーバーで入りきらず、Bというデータだけを入れた別エクセルファイルを作り、一定の量が溜まったらCというデータだけを入れたファイルを作るという形を取ります(保管するためにやむ終えずこの形を取る事になっています))する事にしました。 (※古い2003を使っていて恐縮ですが、まだまだWindows7に会社が切り替えてエクセルも最新版にしてくれる見込みがありません。。。) そこで、以下の通り入力、ブックが同じフォルダ内保管されていると仮定し、試みているのですが、「INDIRECT」だとブックが閉じている際に開けない事が調べているうちに分かりました。 私としてやりたいことは (1)A1に検索値 (2)B1にブック名(任意のローカルフォルダに保管されている前提。ゆくゆくは会社の共有しているサーバー内に格納して誰でも開ける場所に保管するつもりです、この式を入れているこの集積表示用データもB1以下に記載されるブック達と同じ場所に保管します) (3)C1にシート名(B1のブック名内にあるシート名、シート名は連番になって続いています) (4)D1にC1で指定したシート内を検索するための列番号 <現在試みている式(F1から下の行に同じ式を1つずつずらして入れていきます)> =IF(ISERROR(VLOOKUP($A$1,INDIRECT("\●●●\←ここには任意のファイル場所が書いてあるとしてください["&B1&".xls]"&C1&"!$A:$AD"),$D$1,FALSE)),"",VLOOKUP($A$1,INDIRECT("\●●●\←ここには任意のファイル場所が書いてあるとしてください["&B1&".xls]"&C1&"!$A:$AD"),$D$1,FALSE)) 月毎にBとCは1行ずつずらして値を1つずつ増やして上記式もBとCだけ1行ずつずらして書いていく方式をとっていくという形です。 ずらしてく毎にBとCの行の値が1つずく更新され、ブックとシートを上手く検索して反映させたいと思っていますが、何か上手くやれる方法はないでしょうか? (BとCのファイル名はもちろん番号が1つずつずれるように作っています。) VBAを使う方法があるのかな・・・?とも思っているのですが、なにぶん初心者なものでそのあたりが全くちんぷんかんぷんで困っています。。。 INDIRECTはブックが開いていないと反映されない事も調べて判明致しました。 どなたかお助けいただけないでしょうか? 新しいやり方やもっといい式があるという方、アイディアを拝借できれば幸いです。 VBAであればこういう風に出来るというやり方もあれば学びたいと思っています。 お粗末な内容ですがご指導お願い致します。 ※不足している情報等あればおっしゃってください。 出来れば来週中に仕上げていかなくてはいけないデータの為、大変身勝手な事を言っているのを承知しておりますが、どなたか宜しくお願いいたします。

  • Excelのシート→ブック

    Excelのシート→ブック Excelに複数のシートがある状態です。 そのシートを個別のファイル名=シート名で一発で個別のブックにする方法はありますか?

  • Excel 閉じているブックのシート名を変更する方法

    いつもお世話になります。 Excel2002を使用しています。 ブックAを開き、ここから閉じているブックBのシート名を変更することは可能でしょうか? 理想としては、ブックA上のボタンをクリックしたときに、閉じているブックBのシート名が変更できれば・・・。 変更する名前は常に同じものでOKです。以上、よろしくお願いします。

  • 複数のシートを持つ2つのエクセルファイルを単純に結合したい

    ファイルとして保存してあるエクセルのブックファイルAには10のシートが含まれており、同様のブックファイルBと結合して、20のシートが含まれるブックファイルCを作りたいのですが、エクセルを開いて対話形式で実行するのではなく、バッチファイルに引数としてファイルA・B・Cを渡して実行するなどの方法を探しております。 ご教示いただけると大変助かります。

  • ブック間のシート移動

    EXCEL VBA初心者です。 ブックAのシートAをブックBのシートの一番左側に移動させようと思います。 以下を実行するとエラーが出ますがなぜでしょうか? エラーの原因と対策方法を教えて下さい。 Sub シート移動() Worksheets("シートA").Move _ Before:=Workbooks("ブックB.xls").Sheets(1) End Sub ブックAはブック名が毎回変わります。 ブックAはメール添付を開いたブックです。 ブックAはシートがシートAしかありません。 シートAは名前が変わりません。 マクロコードはブックBあるいは個人用マクロブックに置きます。 よろしくお願いします。

  • エクセルでブック間のシートの合体?教えてください。

    エクセルの作業で困っちゃいました。 同じホルダー内に 0210A.xls、sから0309A.xlsの12種類 0210B.xls、sから0309B.xlsの12種類 0210C.xls、sから0309C.xlsの12種類 0210D.xls、sから0309D.xlsの12種類 の48のブックがあります。(0210は2002年10月の意味です。) 各ブックは複数のシートを持っており、各ブックに共通してあるのは「AAA」、「BBB」、「CCC」の3種類で、それ以外のシートもあります。シートの順番は各ブックによりまちまちです。 これらのブックの共通する3種類のシートだけを合体して 0210AB.xlsから0309AB.xlsの12種類、(AとBの合体) 0210CD.xlsから0309CD.xlsの12種類、(CとDの合体) の24種類のブックを作りたいのです。 各ブックは「AAA」、「BBB」、「CCC」の3シートを持ちます。中身はオリジナルの各「AAA」、「BBB」、「CCC」の単純な寄せ集めです。 データは各シートとも1行目に項目、2行目以降にデータで、列はAF列まで使用しています。データの個数はまちまちで、オートフィルターを使用しています。 たとえば、0210A.xlsのシートAAAが200行であれば0210BのシートAAAのデータの一行目の項目は不要ですので2行目から最終行までコピーして201行以降に貼り付けるという感じです。同様にシートBBB、シートCCCも処理します。各シート1行目はオリジナルと同じ項目名とします。 手作業でやろうと思いましたが、誤りの発生もこわいのでVBAなどでうまくできる方法はないでしょうか?わたしのVBAの知識はマクロ自動記録ができるくらいなので助けてほしいのです。 Windows2000でエクセルも2000です。 よろしくお願いしま~す。

  • Bookへファイルを飛ばす!

    Bookへファイルを飛ばす! エクセルVBAで "A"BooKと"B"Bookと"C"Bookがあります! 3つのBookにそれぞれSheetを飛ばしたいです。 例えば、 CommandButton1_Click()すると Sheet1は"A"Bookへ Sheet2は"B"Bookへ Sheet3は"C"Bookへ とそれぞれの場所に行かせたいのですが… すいません教えて下さい 1つだけ飛ばすなら分かるのですが!

  • Excelでのシート保護の方法について

    Excelでのシート保護の方法について Excel(2000,2003,2007が対象)でのシート保護の方法について教えてください。 1ブック内に、シートA,シートB,シートCと3枚のシートを作成し、 この3枚のシートに下記のような制限をかけたいと思っております。 シートA: シートの削除不可 シート名の変更不可 シート内のセルは自由に入力可能 --------------------------------------------- シートB、シートC: シートの削除不可 シート名の変更不可 シート内のセルへの入力も不可 (シートの内容を何も変更させたくない) --------------------------------------------- ブックとしては、自由にシートの追加可。 自分で追加したシート(上記のシートA,B,C以外)は シート名の変更も、シートの削除も何でも可。 --------------------------------------------- このように、シート単位でそれぞれ可・不可と 制限をかけることが出来ますでしょうか? もし、ご存知の方がおられましたら、ご教授願います。 よろしくお願い致します。

  • Excel VBA別ブックのシートをコピーするには

    Excel2010のVBAで別ブックのシートをコピーしてくる方法 Excelファイル(C:\test\BOOK2.xls)のシート名が TESTというシートを自分のExcelファイル(C:\doc\BOOK1.xls)に コピーするにはどのように記述すればよいのでしょうか。 ・コピー先:自分のExcelファイル(C:\doc\BOOK1.xls)  VBAのコードがあるファイルです ・コピー元:C:\test\BOOK2.xlsのTESTシート  なお、TESTシートを持つ同じ名前(BOOK2.xls)のファイルが  別フォルダにもあります   Workbooks( )の引数にファイル名(BOOK2.xls)は指定できるのですが、 フルパス名(C:\test\BOOK2.xls)で指定できないので困っています。

  • エクセルのbookを開いたときに

    作成したエクセルのBookを開いたときに指定のシートを選択している状態にしたい。 エクセルで作成したBook「基本.xls」にa,b,cというシート3つがあります。 このブックを開いたときに必ずaというシートのセルa1が選択された状態にするにはどうしたら良いのでしょうか?

専門家に質問してみよう