• ベストアンサー

Excelで抽出・連続印刷したいです

恐らくExcelのマクロの機能になるかと思うのですが 以下の作業を簡単にできるようにしたいです。 シート1にデータベース 1.○○×夫 〒000-0000 A県B市・・・ 2.××○子 〒111-1111 C県D市・・・ シート2に印刷用フォーマット FROM~TOの入力でデータベースの該当番号から シート2の印刷用フォーマットの宛名の部分に 名前・郵便番号・住所 のデータを拾ってくる。 ↓ 順番に印刷 仕事で使用します。。。 印刷用フォーマットに書かれてある内容は全員 共通で、ただデータベースに入力した名前・あて先 に送りたいだけなのですが。。。 簡単にできますでしょうか? ずいぶん前にVBAの講習を受けましたが、まったく 忘れてしまい、今日新たに本も購入しましたが よくわかりません。。。 ご存知の方、よろしくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

Sub test01() Dim ws1 As Worksheet Dim ws2 As Worksheet Set ws1 = Worksheets("sheet1") Set ws2 = Worksheets("sheet2") d = ws1.Range("a1").CurrentRegion.Rows.Count For i = 1 To d ws2.Cells(3, "C") = ws1.Cells(i, "A") ws2.Cells(4, "C") = ws1.Cells(i, "B") ws2.Cells(5, "C") = ws1.Cells(i, "C") ws2.Range("A1:F20").PrintOut Next i End Sub Sheet1には 山田 太郎 100-2000 福岡市中央区蕨町1-1 川田 花子 200-3000 岡山市朝日町1-2-3 大森 菊子 300-4000 岐阜市台町3-3-4 Sheet2にはB3:B5に 氏名 郵便番号 住所 を入れておきます。固定文章。 印刷されて 氏名   大森 菊子 郵便番号 300-4000 住所   岐阜市台町3-3-4 などの各ページが打ち出されました。 Cellsの()内は本番に合わせて、適当に修正が必要です。Sheet名も修正のこと。

animal_festa
質問者

お礼

早々にご回答いただいたにもかかわらず、お返事が遅れて しまい、申し訳ございません。 おかげさまで、週末、無事望んでいたものができあがりま した! 本当に困っていたので大変助かりました。 どうもありがとうございました。

その他の回答 (1)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

QNo.770107『エクセル等で連続流し込み印刷は?』 http://www.okweb.ne.jp/kotaeru.php3?q=770107 と同じ内容のように思えます。

参考URL:
http://www.okweb.ne.jp/kotaeru.php3?q=770107

関連するQ&A

  • 連続で印刷 VBA エクセル

    ・シート1のA列に番号が入力されており、B列以降に情報が入力されています。 ・シート2のA1セルに上記に番号を入力すると、B列以降の情報がフォーマットにあわせて表示する様になっています。 ・印刷する場合、A列に番号を入力→印刷を繰り返します。 ○コレをVBAで自動化できないでしょうか?

  • excelでマクロを使用した連続印刷について

    A2セルから通し番号、氏名、住所等のデータが入力されている「データ」シートがあり、 VLOOKUPを使用してB3セルに「データ」シートのA列にある「通し番号」を 入力すると氏名・住所等が反映される「印刷」シートがあります。 例えば「データ」シートのC列(住所)に「東京都」という文字列が 含まれている宛名のみを連続で印刷したい場合、 どのようなマクロになりますでしょうか? (マクロ内に「東京都」と指定する方法と、 シート内の特定セルに入力した文字列で指定する方法が ありますでしょうか?) wordでの差し込み印刷や、宛名ソフト等の使用は考えておりません。 よろしくお願いいたします。

  • エクセルで連続印刷

    エクセルで連続印刷をしたいです。 調べてみて、以下の過去の回答が私のしたいことであり、 真似してみました。 sheet2上の変化はまったくなく、最後の実行を押すと ✖400とでてきます。sheet2上には変化なしです。 教えてください。 (過去回答) Sheet1のセルAに以下のように名簿が並んでるとします。 氏名(これはタイトル) 宛先 氏名1 宛先 氏名2 宛先 氏名3 宛先 氏名4 宛先 氏名5 宛先 氏名6 宛先 氏名7 宛先 氏名8 宛先 氏名9 印刷は別のシート、例えばSheet2に印刷するとした場合は以下のマクロで行えます。 なお、Sheet2の印刷範囲は仮にA1:D7の範囲としています。 Sub Pri_Name()  Range("A2").Activate  Do While ActiveCell.Text <> ""   Worksheets(2).Range("A1").Value = ActiveCell.Text   Worksheets(2).Range("A1:D7").PrintOut   ActiveCell.Offset(1, 0).Activate  Loop End Sub 上記のマクロはAltキーを押しながらF11キーを押して表示されるマクロのエディタでF7キーを 押して出てきたところに貼り付けます。 印刷を実行する場合はAltキーを押しながらF8キーを押して表示されるマクロの実行指示画面で 「Sheet1.Pri_Name」が選択されている事を確認して、同画面にある「実行(R)」ボタンを押します。

  • マクロで連続印刷

    いつもお世話になっております。 困っておりますのでお願い致します。 エクセルでSheet1のリスト(住所ろくのようなもの)のデータを Sheet2の特定の形式(はがきのフォーマットのようなもの) に反映させていって(リストの一番うえから入力のある通し番号のところまで) 印刷をするマクロはないでしょうか? ただし、お恥ずかしながら当方はマクロといえば 「マクロを記録⇒操作⇒マクロの保存」程度の知識しかありません。 お手数で申し訳ないのですがご教示下さい。

  • エクセルの印刷マクロについてご教示下さい。

    現在、     シート1のA列に番号(NO1~200)を、B列からG列までには各番号のデータを入れて     整理したものを、シート2で作成した印刷様式に、印刷マクロ(年賀状の宛名印刷を修正     したもの)を使って印刷を行っていますが、マクロを実行するとデータがない番号も印刷     (カラ印刷)していますので、困っています。         印刷データがない番号(例えばB列にデータがない)については、印刷しないようにする     には、どのようなコードを入れればよいのでしょうか。          VBAをはじめたばかり(素人)ですので、よろしくお願いいたします。(エクセル2003使用)

  • 「エクセルで差し込み印刷」…助けて下さい。

    エクセルを使い差し込み印刷がしたいのですが、マクロ・VBA初心者のため、ネット等で調べても全く理解できません。 助けてほしいです… 具体的には下記のようなことがしたいんです。 shee1に以下のフォーマットがあります。  氏名  年齢  電話番号 (1) (2) (3) sheet2に以下のデータベースがあります。 氏名  年齢  電話番号 山田  20歳  03… 佐藤  22歳  042…  ・    ・    ・  ・    ・    ・  ・    ・    ・ sheet1にsheet2のデータを反映して、「ボタン」を押せば次の人へ移動する (山田→佐藤)ようにしたいのです。 どういったプログラムを組めばよろしいでしょうか? どうか宜しくお願い致します。 上記だけでは情報不足等あれば、聞いてください。 本当に困ってますので、宜しくお願い致します。

  • 教えて!エクセルでの印刷マクロ

    シート1に下のようなデータベースがあります。  受付番号 氏名 〒 住所    1    2    3 データを1から順に入力して、入力内容が日によって違いがあるのですが、入力した分だけ印刷できるマクロがわかりません。 前日、1から15まで入力して印刷、今日は16から50まで入力して、その分(16~50まで)を印刷(前日印刷した分は印刷しない)、次の日は50件入力(印刷は51~100まで)となるようなマクロです。 どなたか、ご教授くださいませ。 

  • マクロでリストの印刷をしたい

    教えてください。 「案内状」を宛名を変更しつつ、一括で印刷したいと思っています。 Sheet1 にその「案内状」あり、宛先は空欄になっています。 Sheet2 に宛先名の表があります。A列に連番があり、B列に名前が50行あり、C列の任意の行に○のマークがしてあります。この○のところの宛名をSheet1 の「案内状」の宛先欄に埋め込み、一枚づつ印刷したいと思っています。マクロでこのようなことができないでしょうか。よろしくお願いします。

  • Excelで連続印刷をするマクロ

    Excelでデータベース的な使い方をしています。 「データ」シートにたくさんのデータがあり, 「レポート」シートのA1セルに入力した数字に該当するデータをVLOOKUP関数で読み込んでいます。 それを連続印刷するときに, 現在は For n = 1 To 135 Range("A1").Select ActiveCell.FormulaR1C1 = n ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Next n End Sub というマクロで実行させています。 (ちなみにマクロの知識がほとんどなく 「新しいマクロの記録」を利用して作ったため,ほとんど意味は分かっていませんが・・・) このマクロでも印刷できるのですが, このままだとデータが 1 ~ 135に固定されてしまいますよね。 実際はデータ数が変動するので,そのたびにマクロの数字を変えています。 そこで考えているのが 新たに「設定」シートを作成して そこのiとjのセルに数字を入力することで,自動的に マクロが n = (iに入力した数字) To (jに入力した数字) となるようにした方が便利だと考えています。 あまりマクロについての知識がないくせに ほんのちょっとの工夫でできるような気がして・・・ あれこれ試してみたけどできません。 できれば今のマクロを根本的に変えるのではなくて 少しの変更とか追加とかでできるようにしたいのですが可能でしょうか? ぜひ 教えてください。よろしくお願いします。

  • ちょっと特殊な連続印刷のマクロを教えてください

    次のような名簿があるとします。 A列    B列     通し番号 名前     1    阿部 2    佐々木 空白   空白 4    木村 5    田辺 空白   空白 空白   空白 8    三浦 通し番号が入力されていない場合は、名前も表示されない様になっています。 セルC1に通し番号を順々に表示(マクロで指定) セルC2にその番号の名前を参照表示←個人票として印刷 番号があれば(名前が表示されれば)印刷 としたいです。 個人票を連続印刷したいのですが、空白を飛ばして、 番号が入っている人だけを印刷、というマクロがどうしても組めません。 一つ一つ、番号が入っていれば名前を印刷のようなマクロを延々と 組むことは出来るのですが、名簿が長大なのでそれは避けたいです。 よろしくお願いします。

専門家に質問してみよう