• ベストアンサー

複数のブックから、特定文字のシートをあつめるには?

複数のエクセルブックがあり、シートがたくさんあります。ブック名もバラバラで、シート名は「○○(日本人)」、「××(日本人)」、「○○(外国人)」、「××(外国人)」……とあります。 このシートを、日本人、外国人それぞれエクセルブックのシートごとにあつめたいです。 エクセルマクロを使って行いたいのですが、どうしたらいいかわかりません。 どなたか教えていただけないでしょうか?

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

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

マクロブックを1冊用意する ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub macro1()  dim a as variant  dim myFile as variant  dim myBook as workbook  dim w as worksheet  dim wJ as workbook  dim wF as workbook ’複数のエクセルブック  a = application.getopenfilename(title:="select files", multiselect:=true)  if not isarray(a) then exit sub ’指定のブックごとに  for each myfile in a   set mybook = workbooks.open(filename:=myfile)  ’シートごとに   for each w in mybook.worksheets    if w.name like "*日本人*" then   ’日本人シート     if wj is nothing then      w.copy      set wj = activeworkbook     else      w.copy after:=wj.worksheets(wj.worksheets.count)     end if    elseif w.name like "*外国人*" then   ’外国人シート     if wf is nothing then      w.copy      set wf = activeworkbook     else      w.copy after:=wf.worksheets(wf.worksheets.count)     end if    end if   next   mybook.close savechanges:=false  next end sub ファイルメニューから終了してエクセルに戻る ALT+F8でマクロを実行する

kuskus_2
質問者

お礼

すごいです!!! 途中、(w.copy after:=wj.worksheets(wj.worksheets.count)ここで、中断しましたが継続の三角マークを押したら、最後までいきました。 なぜ中断したか、疑問は残りますが、シートの数が多すぎたのでしょうか? しかし、綺麗に日本人、外国人のエクセルブックに分けられました。 気持ちよかったです。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • フォルダ内の特定ブックだけを1つのブックにまとめる

    はじめましてマクロ超初心者です。 会社のシステム(ツール?)で同じフォルダに1案件につき2つのブックが作成されます。 毎回約30案件、すなわち同じフォルダに60ブックあります。 (1)同じフルダ内に60ブック (2)その内、同じ案件が2つ。ブック名「1_****」と「2_****」 ****は毎回かわる (3)ブックには2つのシート。シート名「1」と「2」 (4)ブック「1_****」のシート「1」が開いた状態、ブック「2_****」のシート「2」が開いた状態になってる (5)必要なのはブック「1_****」のシート「1」とブック「2_****」のシート「2」 この「1_****」のシート「1」と「2_****」シート「2」を「1_****」にまとめる作業を毎回手作業でやっています。これをなんとかマクロで出来ないでしょうか?同じフォルダにある複数ブックをまとめるマクロは見つけました、複数=全てのブックに実行されてしまいます。フォルダ内の特定のブックをまとめるマクロがみつからず。。。どなたかご教授して頂けませんか?

  • 複数あるブックの特定シートの特定範囲を1つにしたい

    EXCEL2010を使用しています。 あるフォルダに格納されている複数のブックの、特定シートを、1つのシートにまとめたいです。 複数のブックの作りは同じです。 1つのブックに、複数シートがあり、"(配置)"というシートだけを、新規のシートにまとめたいです。 <今ある各ブック> ファイル名は、2014年度特定措置_●●.xlsで、●●だけ、ブック名が違います。 シート名が"(配置)"です。 c3セルに部署名が入っています。 b4セルからe10セルまで数式が入っています。 <行いたいこと> 新規のシートのa列に、各ブックにあるc3セルの部署名を持ってきたい。 b列からe列に、各ブックにあるb4セルからe10セルまでの数式を値張りし、取り込みたい。 以上です。 つたない説明で恐縮ですが、大変困っております。 どうか、ご回答の程、どうぞよろしくお願いいたします。

  • エクセルで各シート毎にブックに分割したい

    エクセルの1つのブックに複数の名前がついたシートがあり、その各シート毎にシート名のブックに分割したいのです。 シートが少なければ手作業で分割するのですが、100枚近くのシートがあるので、できればマクロで一括処理できれば助かるのですが。 過去ログで複数のブックのシートを一つのブックにまとめる事例がありましたので、その逆もできると思うのですが。 よろしくお願いします。

  • 【Excel 2003】複数のブックのシートを一つのブックにコピーにしたい

    お世話になっております。 【Excel 2003】を使っております。 複数のブックには、複数のシートがありまして、 複数のシートを一つのブックにコピーしたいのですが、 手作業ですと、大変時間がかかります。 現在は、一つ一つブックをあけて、シートのコピーで 一つの新しいブックにいれてます。 なにか、これを簡単にできる方法は、ありませんでしょうか? フリーのソフトでも、マクロでも、教えていただけたら 助かります。よろしくお願いします。

  • 複数のシートや複数のブックの検索

    こんばんは。 エクセルはほぼ初心者です。 セルに入れた文字をほぼ一致、または完全一致で複数のシート内を 検索して、その行の数値を表示させる事はできますか? VBAやマクロで教えて頂けると幸いです。 欲張りですみませんが↑の別バージョンで複数のブック内も可能でしょうか?

  • 複数のエクセルブックをひとつのブックにまとめる方法

    同一フォルダに複数のエクセルブック(100個以上)が入っています。 その中のSheet1だけ(Sheet1~3まですべてのブックにあります)を一つのエクセルにまとめたいです。 ブックの中にSheet1、Sheet1(1)、Sheet1(2)・・・ みたいになればいいです。 Sheet名がブック名になるのが理想ですが。。 どのようにすればよろしいでしょうか?

  • 複数のエクセルブックから特定シートの特定セル抽出

    同一フォルダ内にある複数のExcelブックから特定シートの特定セル値を抽出して一覧表にまとめるExcel マクロ(VBA)を教えてください。 よく似ている質問、回答を読んだのですが、私のレベルではとても応用できず質問させていただきます。 【前提】 ・実行する端末のOSはWindows XP(SP3)、Excelは2003 ・対象フォルダはネットワーク接続フォルダ「\データ解析\データ」  この中に、複数のExcelブックがあります。 ・抽出したい対象は、各ブック内のシート(シート名はファイル名と同じ)の「BO6からBW16までの□の範囲」で統一されています。 【抽出一覧作成イメージ】 ・「集計.xls」ブックの「Sheet1」の2行目から抽出した結果を一覧表示する。 ・表示はA列に抽出元ブック名(=ファイル名)、B列に抽出元BO6セルの値。以降,C列・D列と 順に値を入れていきたい。 ・BO6~BW16までのセル値を「集計.xls」ブックの「Sheet1」に貼り付ける際には「値で貼り付ける」が望ましい。 というようなイメージです。 とても勝手なお願いではありますが、宜しくお願いいたします。

  • Excelのシート→ブック

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

  • 複数のブックを新しいブックのSheet1にまとめたい

    教えてください。 「A」「B」「C」「D」「E」「F」「G」 と言った名前のエクセルファイルがあります。 実際は約50個ありますが・・・。 それぞれ、Sheet1にのみ同じフォーマットですが、行数というか、件数が異なります。 新しいエクセルブックのSheet1にA」のデータの下に「B」のデータを貼り付けるという風に、「A」~「G」をまとめて一つのシートにまとめたいです。コピペではなくマクロでできるということを知りました。 毎月作業することになるので、マクロを組んでおきたいと思っています。 しかし、マクロは単純作業を記録して実行するというような基本的なことしかわかりません。 専門的用語ではなく、 (1)ツールをクリック (2)すべてのブックを開いておく (3)Visual Basicをクリック などというように、手順を教えていただけないでしょうか? よろしくお願いします。

  • 複数のブックから特定データ群を新ブックにまとめたい

    こんにちは。 EXCEL2007について、ご教示ください。 EXCEL2007で、複数ブック内の特定シート上にある特定のデータ(複数) を特定ブックにまとめたいのですが、うまくできずに悩んでいます。 <やりたいこと>  ・参照元は特定フォルダ内にある全ファイルが対象(100程度)  ・ブック内の特定シートが対象(シート名は  ・コピー   (1) 元シートのA4~F4セル(セル結合されています)のデータを、     先シートのB2セルへコピー   (2) 元シートのG4~L4(セル結合)のデータを、先シートのC2セル     へコピー   (3) 元シートのG6~R6セルのデータを、先シートのE2セルへコピー  ・コピー2   次ブックを読み込み、1行下(B3、C3、E3)にコピーする。  ・コピー3   以降1行下にコピーし、ファイルが無くなるまで繰り返す。 以上ですが、マクロでできるように教えていただけないでしょうか。 よろしくお願いいたします。

専門家に質問してみよう