• 締切済み

エクセルで抽出した不特定数のデータを行数の決まった別シートに取り込む方法を教えてください

エクセルでマクロを作り始めた初心者です。 Sheet1に、氏名、住所、TEL、会社名、担当者、金額・・・と続くデータが6000レコードほどあります。(レコードは随時増えていきます) Sheet2では、担当者名を条件にSheet1から必要な列(上記に記載したもの5つ)のみを抽出するマクロでデータを取り出すようになっています。 抽出したデータをsheet3のフォーマットに氏名、住所、金額の列だけ入れるのですが、入れられる行が20行と決まっており、最後の行には、合計欄が入るようになっています。 不特定数のレコードを20行ごとにページを区切って印刷するにはどうしたらよいでしょうか。ご教示お願いします。

みんなの回答

noname#79209
noname#79209
回答No.1

> 入れられる行が20行と決まっており これはデータレコードが20行という意味でしょうか? 実際は列のヘッダと合計行で22行? それと1ページを超える場合、合計行は各ページに入るのですか? また、各ページの合計行は、累計?それともそのページの小計? アイディアとしては、ダサイ方法ですが、 Sheet2の全データ行をSheet3にコピーしながらカウントして、 20行になったら印刷を実行して、ページクリア を繰り返すという方法。 Sheet2が特に必要ないなら、 抽出部分で同時に印刷してしまう方法もあると思います。 私ならAccessを使ってしまいますけどね。楽だから...

59_aiai
質問者

補足

>> 入れられる行が20行と決まっており >これはデータレコードが20行という意味でしょうか? >実際は列のヘッダと合計行で22行? >それと1ページを超える場合、合計行は各ページに入るのですか? おっしゃるとおり、全体で22行です。合計行は、今日確認したところ、最終行だけでよいようです。 抽出で最高200レコードくらいみればよいようなので、あらかじめ Sheet3のデータレコード欄を200行開けておき、空白行を非表示にしようかとも考えたのですが、マクロで空白行数(というか番号?)を調べる方法がよくわからず、困っております。 空白行を非表示にするVBA?を教えていただけるとありがたいです。 ちなみこのデータ、Accessから取り出されてるんです(汗) Accessを持っていない人のためにわざわざExcelにして、フォーマットにあわせて必要なデータを入れ込むというよくわからない作業なんでございます。

関連するQ&A

  • VBAにて、複数シートからデータを抽出

    エクセルVBAです。複数のシートからの集計、抽出の書き方について教えてください。 1つのファイルに50ほどのシートがあります。 各シートの列数やフォーマットは、同じですが行数は、異なります。 例 sheet1(シート名:集計):集計用   A    B    C       D     1 ※検索キーワードを入れるセルや 2   マクロを登録するボタン用として2行開けてある。 3 番号 氏名  郵便番号  住所  sheet2(シート名:STU)   A    B    C       D      1 番号 氏名  郵便番号  住所  2  1  AB   345    YZ 3  1  CD   678    QS sheet3(シート名:XYZ)   A    B    C       D      1 番号 氏名  郵便番号  住所  2  2  AB   345    YZ 3  2  CD   678    QS 4  3  CD   678    QZ 抽出前は、上記の様なファイルとなっております。 上記では、4列としてますが実際は、23列あります。 また、sheet3までですが、実際は、40~100シート位あります。 sheet1(シート名:集計):集計用   A    B    C       D     1     ※検索キーワード:氏名_CD としマクロを実行する  2       (↑例として氏名でフィルタリングしてますが他の指定項目でも実行したい、複数条件は、無)   3 番号 氏名  郵便番号  住所 4  1  CD   678    QS    (←sheet2(シート名:STU)の3列目) 5  2  CD   678    QS  (←sheet3(シート名:XYZ)の3列目) 6  3  CD   678    QZ  (←sheet3(シート名:XYZ)の4列目) ・  ・  CD    ・      ・ (←sheet4(シート名:・・・)の・列目) ・  ・  CD    ・      ・ (←sheet10(シート名:・・・)の・列目) ・ ・  CD    ・      ・ (←sheet27(シート名:・・・)の・列目) ・  ・  CD    ・      ・ (←sheet27(シート名:・・・)の・列目) ・ ・  CD    ・      ・ (←sheet30(シート名:・・・)の・列目) 上記の様にすべてのシートから氏名:CDでフィルタリングし集計シートに抽出したい。 よろしくお願いいたします。

  • エクセルVBAで、ある文字を含んでいたら別シートに抽出したい

    エクセル2002を使っています。 シート1に  A列に氏名  B列に住所  C列に電話番号 のデータが300件の表があります。 B列を検索してたとえば大阪府があれば、その行(ABC列)をシート2へコピーして抽出したいのです。  VBAを使ってやりたいのですがどうしたらよいでしょうか? よろしくお願いします。

  • Excelで別シートに必要データのみを抽出したい。

    Excelで シート1には 商品名 メーカー名 金額 個数 担当 のデータが入力されています。 ここで個数が「0」のデータ以外をシート2に抽出したい(個数が1個以上のデータのみを抽出したい)のですがいまいちやり方がわかりません。 どうやればできますか? すいませんが大変困っています。 どなたか教えてください。 宜しくお願い致します。

  • Excelで合致するデータの抽出について

    初歩的な質問ですが どうしてもうまく抽出できないので教えて下さい。 Excelでシート1のリストの項目は5列で 社員No.社員名・性別・住所・Telが入力されている 全社員データが200件あります。 またシート2のリスト項目は6列あり 社員No.社員名・支店名・性別・住所・Telが入力されており、 支店名にはすべて東京と入力されているリストが50件ほどあります。 シート2の社員データ50件を、 シート1の全社員リストから 抽出する方法を教えていただけないでしょうか。 抽出場所はどこでもかまいません。 申し訳ありませんが、よろしくお願いします。

  • 複数のエクセルファイルとシートからデータ抽出したい

    すみませんが教えてください! 複数のエクセルファイルがあり、それぞれに複数のシートがあります。 (ファイルによってシート数は異なります) そのすべてのファイル/シートから、C列の最後の行のデータを抽出し、集計ファイルに書き出したいのです。 書き出しのフォーマットは3セル使用して、ファイル名、シート名、データとしたいです。 すみませんが、よろしくお願いいたします。

  • エクセルで抽出したデータを別シートにコピーしたいです

    エクセル2003を使用しています。 例えば、以下のような表があります。  ABC 1あ10 2い15 3あ20 4 A列が条件となり、たとえば「あ」のデータだけ抽出して、そのデータを別シートにコピーします。 同じく「い」だけを抽出して、また別のシートにコピーします。 いままでは、オートフィルタで抽出して自分でコピーをして貼り付けしていましたが、日々データが次の行に追加になるので、毎回オートフィルタしてコピーするのは大変です。 関数か、マクロかVBAを使ってする方法はありますでしょうか。 できれば日々追加になるデータのみをすでにある別シートの前日までのデータの下に追加できるようになればいいと思うのですが。 知識が乏しくできません・・・ よろしくお願いいたします。

  • エクセルで別シート同士の照合結果を抽出

    シート1(担当者アの案件): A列に会社名 B列に担当者名 シート2(担当者イの案件): A列に会社名 B列に担当者名 シート3(担当者未定の案件): A列に会社名 B列に担当者名 シート4 シート1とシート3を照合して、シート1に存在する場合、シート4に抽出 シート2とシート3を照合して、シート1に存在する場合、シート4に抽出 としたいのです。やり方を教えていただけますでしょうか。 ちなみに結果の抽出はシート4でなくてもどこでもいいのです。 お手数ですがよろしくお願いいたします。

  • エクセルで検索して別シートに抽出したい

    エクセル2003で顧客リストを作成しています。 そのリストの中から特定の文字列を検索し(あいまい検索)、その項目が含まれる行ごと 別シートに抽出をしたいです。 ほかの方のご質問も参考に試してみたのですが、上手くいきません。 1行目に各項目名 A日付 B担当1 C担当2 D管理番号 E顧客名 2行目からデータです。 ほぼ担当1か顧客名で検索し、検索結果は複数になることがほとんどです。 どなたかよろしくお願いいたします。

  • エクセルの複数のシートを新しいシートにまとめる方法

    お分かりになる方教えてください。 エクセルの複数のシートを新しいシートにまとめたいのですが、各シートのフォーマットは同じではありません。 シート1の列には、IDや組織名 シート2の列には、氏名やふりがな シート3の列には、住所などが書かれています。 列はいかしたままにしたく、まとめた後は ID・組織名・氏名・ふりがな・住所と並べるようにできればと思います。 また、フォームからボタンを押せば、一度にまとめられるように作成したいのですが、何か良い知恵がありましたら教えてください。

  • Excelでの文字列抽出

    Excelで文字列の抽出とそれを並べる方法を教えてください。 関数だけを用いて実現できるのか、マクロを使わなければできないのかも分かりません。 この関数をこの様に使えばよいというのを教えていただけると幸いです。 やりたいことは、下記条件で、シート2のB列にシート1のG列~P列までに登録されている担当者名に該当するB列の店名を4店まで抽出したいのです。 分かりづらくて申し訳ございませんが、よろしくお願い致します。 ------------------------ シートが2枚(シート1/シート2)あります。 シート1  B列は4行毎に結合されており、店名が登録されています。  G列~P列までは1行目は担当者名、2,3,4行目は補足情報が登録されています。  シート2  A列に担当者名が入っています。(4行毎に結合しています)  B列にA列の担当者名に該当する、シート1の店名を4店まで登録したい。

専門家に質問してみよう