• ベストアンサー

エクセルで シート1の名前のデータ(1000件)を元にシート2の招待状に名前を入れて印刷する方法

こんにちは。 エクセルで シート1 のÅ1 .2.3.4.5.6.7......1000 に相手様の名前のデータが1000件あるとします。 シート2に招待状があるとします。 シート2の招待状の上部分に シート1の名前データを、末尾に様を入れて1000枚印刷する方法はないでしょうか?? 理想は自動で シート2 招待状1 の上に シート1のÅ1(名前)様      招待状2 の上に シート1のÅ2(名前)様                          。                     。                     。      招待状1000の上に シート1のA1000(名前)様     A1様 ←(ここを自動変更して1000枚印刷をしたい)     。。。。。。。。。。。。。。。。      。。。。。。。。。。。。。。。。     。。。。。招待状。。。。。。。。     。。。。。。。。。。。。。。。。     。。。。。。。。。。。。。。。。                おわり となるようにしたいです。このようなことは出来ますでしょうか?? 説明が下手で雑文ですが、アドバイスしてやってください。

  • vires
  • お礼率4% (71/1728)

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

  • ベストアンサー
回答No.3

関数とVBAを使ってする方法です。自動で印刷するのは関数では無理ですので、印刷の部分だけ簡単なVBAを使います。 招待状の印刷されないセルに検索値を記入し、印刷していく方法です。 例えば招待状のあるシートのA1のセルが印刷部分でないとします。そこで「~様」と表示したいセルに=VLOOKUP(A1,シート1!A1:A1000,1)と入れます。最初のA1は招待状のあるシートのセルです。シート1!A1:A1000の部分はシート1のシートのA1~A1000までの範囲ということです。最後の1は、A1~A1000の範囲の1列目ということです。なお、シート1はシート名ですので適宜、Sheet1などに代えてください。 印刷部分を指定しておきます。 次にAlt+F11でVisualBasicEditorを開いて、「挿入」「標準モジュール」でモジュールを作って下記のマクロを保存してください。 Sub Lprint() '1番目から1000番目まで印刷する For i = 1 To 1000 Cells(1, 1) = i ActiveSheet.PrintOut Next End Sub 招待状のあるシートを開いておいてから、Alt+F8でマクロを実行すれば印刷されます。

その他の回答 (2)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

VBAを使わないでやるなら招待状はWORDで作って差し込み印刷がいいんじゃないですか

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

VBAを使えば可能ですが? Alt+F11でVisualBasicEditorを開き 「挿入」「標準モジュール」でモジュールを作って下記のマクロを保存 Sub LPRINT() '差込印刷 Dim StNO, EdNO, LtNO As Single Dim PCnt, CCnt As Single Dim ToNAME As String '印刷範囲指定 LtNO = Worksheets("Sheet1").Range("A65536").End(xlUp).Row StNO = InputBox("開始行を指定してください。", 1) EdNO = InputBox("終了行を指定してください。", LtNO) If EdNO > LtNO Then EdNO = LtNO '印刷 Worksheets("Sheet2").Activate For I = StNO To EdNO ToNAME = Worksheets("Sheet1").Cells(I, 1).Value If ToNAME <> "" Then ActiveSheet.Range("A1").Value = ToNAME Print PCnt = PCnt + 1 Worksheets("Sheet1").Cells(I, 2) = Date Else CCnt = CCnt + 1 Worksheets("Sheet1").Cells(I, 2) = "×" End If Next I '結果 MsgBox "印刷件数:" & PCnt & "件 空白件数:" & CCnt, vbOKOnly, "招待状印刷結果" End Sub 「ツール」「マクロ」「マクロ」のダイアログで上記を選択して実行 ※Sheet1のB列に印刷日をセットしてます。

関連するQ&A

  • エクセルの数件のデータを表に印刷したい

    シート1の一行分のデータをシート2の表に表示されるように設定しています。 (=でシート1のセルを指定するとゆう超単純な物です) そのデータとゆうのは、何件もあるのですが、 今は、一件づつインプットして印刷、を繰り返して処理してます。 それを何件ものデータを一気に表に反映させて印刷する事は出来ますか? あと、その表とゆうのは、A5サイズですが、印刷用紙はA4なので、 出来れば、A4用紙に二件分、印刷したいのですが・・ 恐らく、マクロとかVBAなどといった物を駆使すれば出来るのでしょうが、 過去の質問等、かなり閲覧したものの、無知な私には何を書いてるのかさえも、 ほとんど分かりませんでした。。 別シート間のセルを=で指定出来る事も、今回初めて知ったぐらいです。 エクセルの知識は表計算など、超基本的な事しか分かりません。 何がアドバイスあれば、ご教授下さい。宜しくお願いします。

  • エクセルで一件の請求書のシートのデータを、別のシートの一覧表にするには?

    エクセルであるシートのデータ(元データ:順次入力日付ごと、一商店ごと)を別のシートに一行ずつのせて表にするには・・下手な説明ですみません・言い換えれば、一件の業者請求書(元のシート)のデータ〔一軒ごとに入力印刷しています。)を別のワークシートの表の一覧にして、表〔日付ごと)にするには、どうしたらよいでしょうか。宜しくお願い致します。

  • Excel データを各シートへ自動振り分け(各シート、元データと連動)

    こんばんは。 マクロもVBAもチンプンカンプンの私が、色々調べ挑戦したのですが・・・ 頭がパンク状態。 自分がやりたい事も上手く伝えられてるか、不安ですが宜しくお願いします。m(__)m <ファイルの状況> Excel2003使用 Sheet1  コードNo.+勘定科目が入力されているSheet Sheet2  全ての勘定科目のデータが入力されているSheet      ※新しい情報は、随時このSheetに入力 ◎勘定科目ごとのSheet数は、月(年)によって異なります <やりたい事> ※画像参照(見にくかったら、ごめんなさい) 1.「更新場所」のデータを勘定科目ごとに自動振り分けしたい。    ※Sheetごとに合計も出てると理想 2.「更新場所」に新しいデータを入力すると、振り分けられた各Sheetのデータも自動更新される。(元データと各Sheetが連動されてる。) <参考にしたサイト> 【A】 http://www4.ocn.ne.jp/~yy3/Sub61.html 【A】のサイトのプログラムを「ExcelのVisual Basic Editor」を開き貼り付け、「データを各シートに振り分ける」までは出来たのですが・・・ 振り分けられた各シートを見ると、合計が出てないんです。 それは単純に【A】のサイトのプログラムの中には、「各シートの合計値を求める」という 指示のプログラムが入っていないからだと考えました。(素人の考えです。) <やりたい事>の1の各Sheetで合計値を求める事と、<やりたい事>の2が出来ていないので、【A】のサイトのプログラムに・・・ 以下のプログラムを追加すると、私の目的にあったプログラムが出来る?と思ったのですが、出来ますでしょうか? 1.「振り分けられた各Sheetの合計値を求める」という指示 2.「更新場所に新しいデータを入力すると、振り分けられたSheet内のデータが自動更新」されるという指示 また、【A】のサイトを元に各Sheetに振り分けると、一番最後に「合計」というSheetが登場するのですが・・・ 「合計」のSheetを見ても#REFと表示されているだけで、なんの為にあるSheetなのか、よく分かりません。 「合計」のSheetを見るまでは考えていませんでしたが、「合計」のSheetに各Sheetの 勘定科目・支出・収入の合計金額が表示されると、とても理想的です。 マクロもVBAも全然分からないのに、要望だけ沢山あってすみませんが、宜しくお願いします。 P.S 【A】サイトより私の目的にあったプログラムがあったら、【A】サイトのプログラムにこだわる理由はありません。 色々調べてこれがいいのかな?と思っただけですので・・・ 宜しくお願い致します。

  • エクセルで別シートのデータを表示する件

    エクセルで別シートのデータを表示する件 「名簿のシート」(1)があります。 左側から「名前」、「住所」、・・・とデータが入ってます。 「別のシート」(2)で書類を作りたいのですが、(1)のシートからデータがうまく反映されません。 例えば、 (1)の「A1」に「浦島太郎」とあります。 (2)の「B1」は、「セルの書式設定」の「ユーザー定義」で「@_ "様"」としています。 (2)の「B1」に「浦島太郎 様」と表示させたいので「=(1)!A1」と入力しても、「=(1)!A1 様」と表示されてしまいます。 エクセルのバージョンは2002です。 よろしくお願いします。

  • 【エクセル】シート1からシート2への差込印刷・連続印刷

    約90件ほどのデータを差込印刷したいのですが、 VBAに詳しくないので苦戦しております。 VBAが得意な方、どうかお教え願います。 ●【下見】シートに入っているデータを【チェックリスト】シートに差し込みたい。 【下見】シート  ⇒ 【チェックリスト】シート (連番:A9~A100) コード:D9~D100 ⇒  C1、J6 名前:G9~G100  ⇒  C6 住所:L9~L100  ⇒  C7 TEL:I9~I100  ⇒  IJ7(IとJは統合されています) 上記の通り、【下見】シートのデータを【チェックリスト】シートに表示させたいのです。 よろしくお願い致しますm(_ _)m

  • Excelで表に任意データを入れたい

    いつもお世話になっています Excelで悩んでいるところがあるので、ご教授をお願いします。 ExcelにシートA,シートBを用意 シートAに表を作成しまして (例) | 名前  | 備考  | | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| この表は1ページで30行分の名前データが綺麗に収まる表です。 別シートBに百数件の名前だけのデータが入っています。 (A列に数十件、B列に数十件とデータは複数列にわたって入っています) ※今はこのデータの形式ですが、データの持ち方はある程度妥協できます シートBの任意の名前データだけ複数選択し、シートAの形を使って印刷をしたいと考えています。 この時、選択したデータ件数によってはシートAの表は複数枚に渡って印刷される必要があります。 これを実現したいのですが、どのようにすればよいでしょうか? マクロでやるのか、はたまたマクロを使わずともできるのか・・・ 差し込み印刷のような感じでできないかと調べてはいるのですが、解決できそうな情報がみつかりません。 これを実現できる方法を分かる方がいましたら、お願いします。 マクロでという場合は、VBAの記述は初心者ですのでポイントだけでも詳しく教えて頂けると嬉しいです。 よろしくお願いします。

  • EXCELで一覧表のデータを個別に印刷したい

    こんにちわ。 質問させて頂きます。 EXCEL(エクセル)で一覧表になっているデータがありまして、それを1件1件『A4用紙1枚づつ』に印刷したい。 という発案で、色々調べたのですが上手くいかず・・・。 WORDからの差込印刷も試してみましたが、レイアウトや罫線などの設定も細かく出来ないので駄目でした。 ちなみに、一覧表のデータというのは顧客データでして、名前や住所・生年月日等が入っています。 一番理想的なのは、『EXCEL一覧表のデータ』を『別のシートに作成したテンプレート』にデータを飛ばし、テンプレートに一覧表のデータが反映される。 顧客データは数十人分のデータがありますので、印刷する際にはどのデータを印刷するかしないかを選択できる。 ・・・以上が出来れば素晴らしいです。 どなたか、その方法・もしくはヒント的な事を知っている方が居ましたら教えていただけると有難いです。 宜しくお願い致します。

  • 差し込み印刷の件でおたずねします。

    Word 2000を使っています。差し込み印刷の件でおたずねします。  100件のデータがあるとします。1件ずつA4用紙に印刷すると用紙が100枚必要ですがA3用紙に1枚当たり4件のデータを印刷して裁断機で裁断しようと思います。  そこで質問ですが裁断する事を考えてA3の1枚目に1番目、26番目、51番目、76番目のデータ、2枚目に2番目、27番目、52番目、77番目のデータを印刷するにはどうすれば良いでしょうか?  Word以外、Accessでの回答でもかまいません。 質問がヘタで申し訳ありませんがよろしくお願いします。

  • エクセルでデータを別シートに抽出して印刷したい

    エクセルでデータを別シートに抽出して印刷したい 急ぎの仕事でやり方がわからず困っています。 sheet1からsheet2にデータを抽出し、 I列の名前が変わるごとに1シート作成し印刷したいと考えています。 関数で考えてみたのですがうまくできなく挫折してしまい、 お力をいただけないかと思い書き込みました。 よろしくお願いいたします。

  • エクセルでデータを指定して印刷したい

    ●Sheet1に以下のようにデータが入っています。   A B C 1 あ 100 黄 2 い 200 緑 3 う 300 赤 ●Sheet2のセルA1に1を入力すると、 Sheet3に あ 100 黄、 Sheet2のセルA1に3を入力すると、 Sheet3に う 300 赤 と表示するようにしています。 今までは、データも少なく、Sheet2で印刷したいデータを選択し、 Sheet3を印刷していましたが、データが増えた為、Sheet2のA1に1を、 A2に3を入力して、印刷のボタンのようなものを作り、そこをクリック すると、1から3までをSheet3の表示状態で印刷したいのですが… データを全部印刷するなどはいろいろ調べてわかりましたが、 この、範囲指定はかなり調べましたが、わかりません。 どなたか、よろしくお願いします。

専門家に質問してみよう