【EXCEL】(マクロを含む)ファイル内のデータを分割保存する方法

このQ&Aのポイント
  • EXCELでデータを分割保存する方法について教えてください
  • ファイル内のデータを種類ごとにまとめ、別々のファイルに保存する手順を教えてください
  • 大量のデータを手作業で切り取るのは困難です。効率的な方法を教えてください
回答を見る
  • ベストアンサー

【EXCEL】 (マクロを含む)ファイル内のデータを分割保存する方法

いつもお世話になっております。 EXCELのことで、お聞きたいことがあり、質問させていただきます。 今手持ちのデータには、すこし種類が違うものが混ざっています。そして、A列にはデータ全体の通し番号が1~10000行までと連続的にふってあり、B列には種類ごと「1」からと新しく番号がふってあります。 ですので、たとえば、1~150行までが一種類のデータで、151行~500行までは別の種類のデータだとすると、それぞれのB列は、1~150、1~350というふうになっています。ただ、「1」が始まるところは規則的ではありません。 そこでですが、そのB行の番号が新しく1から始まるところから次の1が始まる直前のところまでを、まとめて、一つのファイルとして保存したいです。そうすることで、1~10000行をもつデータ全体は、いくつかのファイルに分割され、別々に保存されることになると思います。 ただ、このデータには、マクロ(this bookと標準モジュールに)も含まれており、それも一緒にファイルごとに保存したいです。 現時点では、上の行から下の行へと順番に「1」が始まるところを目で追って探し、いちいち切り取りしながら、手作業でやっていますが、データ量がかなり多くて、困っております。 なにか、より能率のいい方法はないでしょうか。 お忙しいところすみませんが、ご存じの方にはぜひとも教えていただければと思います。よろしくお願いいたします。

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

  • ベストアンサー
  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

新しいBookを作って、そこに手作業でやっていることをマクロにしたらどうですか。 マクロにする内容は、 ・データのBookを読み込む ・データを加工する(指定種類以外のデータを消去) ・データのBookを別名で保存する(保存後はそのBookは終了) ・以上の処理を全ての種類について繰り返す

freewill7
質問者

お礼

ご回答、ありがとうございます。 アドバイスをいただき、EXCELのマクロに関する本から、上記の4つの作業方法を探して見つけました。 自分でマクロを作ったことがないので、うまくできるか不安ですが、やれるところまでやってみます。またわからないことがあれば、ぜひとも教えていただけたらと思います。 お忙しいところ、ほんとうにありがとうございました。

関連するQ&A

  • excel2000マクロ抽出方法

    2つのファイルがあります。ブック名A.XLS シート名 WORK              ブック名b.XLS シート名 SORT              ブック名A.XLS シート名 WORKに下記のデータが入っています。 AD 1300G A227550 000PA505(C列2行目) 200112(F列)200201(G列)200202(H列)200203(I列)200204(J列)200205(K列)→1行目固定データ AD 1300G A227550 000PA533(C列3行目)   ブック名b.XLS シート名 SORTに下記のデータが入っています。 AD 1300G A227550 000PA505(A列2行目)200112(E列)200201(F列)200202(G列)200203(H列)200204(I列)200205(J列) →1行目E列~J列のデータは都度変わっている AD 1300G A227550 000PA533(A列3行目)    データ抽出条件  ブック名A.XLS シート名 WORKの F列~K列の1行目の列データとブック名b.XLS シート名 SORTの  E列~J列の1行目の列データが同じで、ブック名A.XLS シート名 WORKのC列の2行目以降のコードと  ブック名b.XLS シート名 SORTのA列の2行目以降のコードが同じだったら  ブック名b.XLS シート名 WORKの E列~J列の同じ行にデータを入れる。違うときは、  ブック名b.XLS シート名 WORKのデータはそのままにする。 上記の条件を満たしたマクロの記述の仕方を教えてください。 以上よろしくお願いします。

  • 保存ファイルの検索マクロを教えてください。

    1つのフォルダ内に、同じ様式(形式)で作成されている7つの保存ブックがあり、各ブックの8行目からA列にはNOが、B列には支店名が、D列には商品名が1000ほど入力されています。 検索ブックを作成し、セルBの5に入力した商品名を、7つの保存ブックのD列を検索し、同じ商品があれば、その商品が入力されているA列のNOをセルCの5行目に、対応する支店名をその横のセルDの5行目に表示、また複数同じ商品がある場合は、次は6行目、次は7行目にと下に3つまで表示出来るようなマクロは出来るでしょうか。 よろしく、お願いいたします。

  • 複数ファイルのデータを1つのファイルへ纏めるマクロ

    マクロの実行で、Excel形式の約400個のファイル中のデータを1つの出力ファイルへ纏める為のマクロを作成したいのですが、VBAの初心者で、スクリプトの書き方が分からず大変困っております。 入力ファイルの中身は頻繁に追加、削除を繰り返しており、そのたびに入力ファイルを目視確認後、出力ファイルを手動で修正している状況でございます。 大変お手数ですが、マクロがお分かりの方がいらっしゃいましたら、ご教示を宜しくお願い致します。 ・入力ファイルは、以下ような名前になっております。 課題参加者_23RF3001.xlsx 課題参加者_23RF3005.xlsx 課題参加者_23RF3072★.xlsx 課題参加者_23RF3073.xlsx 課題参加者_23RF3199.xlsx 課題参加者_23RF3543.xlsx ・入力ファイルのデータは、添付しました画面イメージの通りで、  フォーマットは全て同じです。 ・出力ファイルに吐き出す入力データはB列~K列とN列になります。 ・出力ファイルのタイトルは、1番目に呼び出したファイルのB列~K列とN列を使う。 ・出力ファイルのA列のデータは、入力ファイル名の『23RF3001』、『23RF3543』などを入力データ分入れる。 ・出力ファイルのタイトルに使う、入力ファイルのタイトルは以下のようになっています。   B列~E列のタイトルは、6行目、7行目が結合されたセルに入っています。  F列のタイトルは、5行目、6行目、7行目が結合したセルに入っています。  G列~H列のタイトルは、6行目、7行目が結合されたセルに入っています。  I列~K列のタイトルは、7行目のセルに入っています。  N列のタイトルは、6行目、7行目が結合されたセルに入っています。 ・出力ファイルへ吐き出したい、入力ファイルデータの範囲は、  B列~K列の8行目以降とN列の8行目以降のデータになりますが、  『職員番号』、『名前』、『部門』に記載が有る行のみを出力ファイルへ吐き出します。  N列はリストの最後の行まで文字が入力されていますが、  N列についても、上記の『職員番号』、『名前』、『部門』に記載が有る行のみを出力ファイルへ吐き出します。 ・出力データへ吐き出す時の書式フォーマットは以下の通りになります。  A列=文字形式  B列=数値形式  C列~F列=文字形式  G列、H列=日付形式  I列~K列=チェックボックス(フォームコントロール形式(入力データと同じ形式))  N列=文字形式 ・入力データは今の所50行まで入力可能としています。

  • 「Excel」で、異なるブックのデータを一つにまとめたい。

    「エクセル2000」を使用しています。 異なるブックのデータを、うまく一つにまとめる 方法があるかどうか、お教え頂きたいのですが…。 「Book1.xls」には A列に名前 B列に部署名 が、それぞれ入っています。 「Book2.xls」には A列に名前、 B列に内線番号 が入っているとします。 そこで、「Book1」のそれぞれの名前の行に 「Book2」の「内線番号」を表示させたいのですが… そんな事は可能でしょうか? 「Book1」と「Book2」の「名前」のデータは、 ほぼ同じものが入っているのですが 並び順は異なっています。 (「並べ替え」を行ったとしても、 「Book2」の方が遥かにデータ量が多いので、 どうしても行は一致しません) 「同じデータを探して貼り付ける」 という作業が必要になると思うので、 やはり難しいでしょうか…。 ご助言願います。

  • エクセル 別のファイルにデータを流し込む方法

    エクセル 別のファイルにデータを流し込む方法 エクセルで、1つのファイルに入力してあるデータの内、 特定の行のデータを指定して、別のファイルに体裁(レイアウト)を変えて 表示させる方法を教えてください。 具体的には、例えば、元データのファイル(仮にBook1)が、 列に、A列-日付、B列-時間、C列-利用場所、D列-顧客番号、 E列-顧客氏名、F列-利用内容、G列-判定 というような項目を並べて、 1行ずつ、データが入力してあるファイルがあるとします。 この元データのファイルを利用して、別のファイル(仮にBook2)、 例えば、FAX送信用の紙のような書式のファイルに、 1枚の紙に、1人分のデータを、 流し込んで表示させるようなことをしたいと思っております。 これを、Book2の1個1個のセルに、元となるBook1のセルを参照するよう いちいち入力するのではなく、 Book1の特定の1行を指定すれば、その行に入力してあるデータが 自動的に(一発で)Book2のシートに反映されるようにしたいのですが、 良い方法がありますでしょうか。 ご存知のかたがいらっしゃいましたら、 お教えいただけると嬉しいです。 どうぞよろしくお願い申し上げます。

  • Excel2003で2つのファイルデータを自動的にひとつにする方法

    エクセルで2つのファイルを自動的にひとつにしたいのですが、できますでしょうか? ファイルA、ファイルBに【名前が同じ】データがあるとします。  ※ファイルAはA列に名前があります。  ※ファイルBはAB列~AP列までのどこかにファイルAと同じ名前があります。 ファイルAの【名前】を参照して、ファイルBの【名前】がある行のデータを丸ごと、ファイルAの【名前】が一致する行へ自動でコピーできますか? ちなみにファイルAにはA~DP列までデータが入っていますので、それ以降にファイルBのデータの行を自動コピーされるようにしたいです。 データが1000件以上あり、地道にコピペするのは少し大変なので自動でできる簡単なやり方があったら、ぜひ教えてください。 アクセスを使うと簡単にできると、聞きましたが良くわかりませんでした。 エクセル。アクセスどちらでも良いので二つのファイルをひとつにする方法を教えてください。 ちなみに私はエクセルはあまり使いませんし、アクセスはまったくの初心者です。 本日は5時以降パソコンの前にいられないので、明日にお返事致します。 以上よろしくお願いします。

  • 一覧表から一行ごとのデータを別ブックに保存するには?

    あまり使用頻度はないかもしれませんが・・・・ (例) ○元になる一覧表のブック(BOOK_1.xls) 1行目:項目  (A1:一連番号 B1:氏名    C1:住所) 2行目:データ1(A2:1     B2:山田太郎 C2:東京都) 3行目:データ2(A3:2     B3:山田次郎  C3:大阪府)    ・    ・ 以降10行目まで同様のデータが入っているとします。 上記のファイルから ○あらかじめ決められた単票形式のブック(FORMAT.xls)  A1:一連番号(文字列) B1:空白  A2:氏名(文字列)   B2:空白  A3:住所(文字列)   B3:空白 を呼び出し ○BOOK_1.xlsの一行目の項目のデータを  FORMAT.xlsの B1 B2 B3 の空白部分にコピーペーストし ○BOOK_1.xlsのA2の一連番号の数字をファイル名として取得  し"1.xls"として新規保存をする。 ○そのあとは10行目までその作業を繰り返し、1.xlsから10.xls  というファイルを10個作成し終了する 以上のようなことが可能でしょうか? 実際は列数は30程度、行数が1500行程度あり、1500ほどの ファイルができるようになるんですけど・・・。 よろしくおねがいします。    

  • (excel VBA) データを一列にまとめる(マクロで一気に)

    excel2003を使っています webページ全体を、テキスト形式でシートに貼り付けて その後必要な部分だけをマクロで抽出するという作業を行っています。 テキスト形式で貼り付けた際、ブックを開いた直後に(一度もマクロを実行してない状態)貼り付けを行うと、すべてのデータがうまくA列に貼り付けられるのですが、 一度マクロを実行させた後、同じように貼り付けを行うと、データがB列やC列に散らばってしまいます。(行の位置は変わりないです) この解決策が全く思いつかないので、次のマクロを組みました Range("A1").value = Range("A1").value & Range("B1").value まとめたい行が100行以上あるので、とりあえずDo~LoopかFor~nextを使って、この記述で1行ずつまとめていく感じです。ただ、一気に列全体をまとめれたほうがスピードが速いと思い、質問いたしました。 そこで (1)列全体を一気にまとめる方法はありますか? (2)そもそも貼り付けの段階で、ちゃんとA列にデータがまとまらないのはなぜ?(1回目はできるのに…) という質問に、お答えいただけないでしょうか? 質問を2つに分けようかとも思ったのですが、関連でしたので、まとめて質問させていただきました。 お力をお貸し願えないでしょうか?

  • エクセルで使用中の参照元ファイルからデータを取得する方法教えてください

    参照元の入力ブックA、B、Cから統合ブックにデータをまとめたいと思っています。 A・・・A5:Cのデータのある最終行まで B・・・D5:Hのデータのある最終行まで C・・・I5:Kのデータのある最終行まで 統合ブックにそれぞれの列行のまま貼り付ける このようなABCファイルが、現在閉じた状態であっても、使用中の状態であってもそれぞれの列を取り込んで(コピーして)統合ブックに一まとめにしたいのですが、このような条件でこのようなことは可能でしょうか。どのようにしたらできるか知りたいので、教えていただけたら助かります。宜しくお願いします。

  • エクセルのブック分割マクロを教えてください。

    すみません、教えていただきたいのですが。 ひとつのシートの膨大なデータを種類ごとに別ブックの別シートにわけるマクロです。 オリジナルのシートは1枚です。 1行目は項目行で A:地域名(北米、中南米、欧州、アジア、アフリカ、オセアニア) B:国名(アメリカ、カナダ、ブラジル等) C~J:その他各種項目 10000行程度のデータで、ソート済みです。 このシートを、A列の地域別にブック分割をして、それぞれのブックは中に国名別のシートを持ちます。 各シートの配置はオリジナルと同じく1行目に項目、2行以下がデータというならびにしたいのです。 全部で6ブックで、計50シートくらいになります。 各ブック名は地域名(北米等)とし、各シート名は国名となればありがたいです。 なにとぞよろしくお願いします。

専門家に質問してみよう