• ベストアンサー

エクセルの名簿一覧表からすでにエクセルで作られている一人づつのシートに差込印刷

エクセルでできている名簿リストから、すでにエクセルでできている個人別のシートに差込印刷したいのです。一人ずつセル参照で作ることはできるのですが、全部で300人分くらいあるのでワードの差込印刷のように一度にできる方法が知りたいのです。本日中にやらねばならないので手作業では、間に合いそうにありませんしVBAの勉強をしている余裕もありません。

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

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

VBAでもない解答をします。ただファイル-印刷の操作を 300回すること。最終部のようにすれば、VBAで自動化も出来ます。 (1)Sheet2のA1:E3に住所録が 氏名 郵便番号 住所1 住所2 山田 和郎 111-1111 東京都小平市 新町2-1-2 光マンション222 木之下 重雄 222-2222 東京都三鷹市 本町4-3-2 三国荘201 あるとします。本番ではA1:E300とかに住所録があります。 (2)Sheet1は印刷する画面シートです。 F1セルに2、 F2に="Sheet2!A"&F1 F3に="Sheet2!B"&F1 F4に="Sheet2!C"&F1 F5に="Sheet2!D"&F1 F6に="Sheet2!E"&F1 郵便番号を置くセルをB3として式=INDIRECT(F3) 府県市を入れるセルをB5として式=INDIRECT(F4) 町番地を入れるセルをB6として式=INDIRECT(F5) 気付を入れるセルをC6として式=INDIRECT(F6) 名前を入れるセルをB8として式=INDIRECT(F2) C8に「様」を入れる。 (3)F1セルが2の時は 111-1111 東京都小平市 新町2-1-2 光マンション222 山田 和郎 様 となりますが、このA1:C8を印刷する。 (4)F1セルの値を3に変える(3を入力する)と 222-2222 東京都三鷹市 本町4-3-2 三国荘201 木之下 重雄 様 と瞬時に変るが、これを印刷する。 (5)F1を4、5、6、・・・と変えて印刷、変えて印刷すれば良い。 この(5)の部分だけをマクロの記録やVBAにすれば、 同じVBAでも既解答よりずっと易しいと思いますがいかがででしょうか。 Sub test01() Worksheets("sheet1").Activate For i = 2 To 3 '300 Cells(1, "F") = i Range("a1:c8").PrintOut Next i End Sub 行高、セル幅、フォントサイズなどは手動で設定。 氏名、郵便番号、住所を置くセルは自由に出来ます。 上記でF1:F6も自由に別列に設定できます。

noname#9154
質問者

お礼

有難うございました、まとめてお礼させていただきます。でも、結構難しいですね。一人分のデーターをセル参照式にてカードに転記するのはできてるのですが、次の行の同じ列に変えてなどというのは、コマンドで簡単にできるのかと思ってましたので。前日に似たような質問ありましたよと書かれてた人ありましたが、それも私です。ただ、条件をきっちり書いてなかったのでエクセル表からワードの差込印刷すればという意見多くてし直した次第です。補足に書いても反応なかったので。でも、この機能ってエクセルのコマンドにあってもよさそうに思うのは、私だけでしょうか

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

その他の回答 (6)

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.6

No.5 ですが、急いだのでちょっと訂正です。 どのシートをアクティブにした状態でマクロを実行してもいいようにするつもり でしたので、コードを次のように訂正します。 なお、データの配置が違って使えない場合は、状況を補足願います。 Sub SashikomiPrt() Dim Meibo As Worksheet Dim Kojin As Worksheet Dim Rng As Range Dim R As Range Set Meibo = Worksheets("名簿") '基データシート名指定 Set Kojin = Worksheets("個人別") '印刷シート名指定 Set Rng = Meibo.Range("A2:A300") '差し込むデータの一番左列の範囲 For Each R In Rng   '↓ 個人別シートの B2 にA列のデータを差し込む場合   Kojin.Range("B2").Value = R.Value   '↓ さらに個人別シートの C2 に 「1つ右のセル」内容を差し込む場合の例   Kojin.Range("C2").Value = R.Offset(, 1).Value   ' もっと差し込む場合は、この下に次々記述します。   'Kojin.Range("D2").Value = R.Offset(, 2).Value   Kojin.PrintPreview 'プレビューで確認しながら印刷する場合   'Kojin.PrintOut ' 直接印刷する場合。(先頭の ' を上に付替える) Next R Set Meibo = Nothing Set Kojin = Nothing End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.5

データがどのように配置されていて、差込するのは、どの部分なのか、解らないのですが、 取り敢えず、任意に設定できるように作りましたのでテストしてみてください。 たぶん、このようなことと解釈したのですが・・・ 一応、VBAの設定方法を書いておきます。 1.Alt + F11 で VBE(Visual Basic Editor)を開きます。 2.VBE のメニューから[挿入] -->[標準モジュール] を指定します。 3.モジュールウィンドウに下記コードをコピーして貼り付けます。 4.現状に合わせ、6~7行目とその以降の差し込む位置と個数を設定します。 5.Alt + Q (または、右上隅の×)でウィンドウを閉じ、シートに戻ります。 6.メニューから[ツール]-->[マクロ]-->[セキュリティ]で「セキュリティレベル」を  「中」を選択して[OK]します。 7.実行するときは、Alt + F8 (メニューから[ツール]-->[マクロ]-->[マクロ])で  「SashikomiPrt」を指定し、[実行]ボタンを押します。 Sub SashikomiPrt() Dim Meibo As Worksheet Dim Kojin As Worksheet Dim Rng As Range Dim R As Range Set Meibo = Worksheets("名簿") '基データシート名指定 Set Kojin = Worksheets("個人別") '印刷シート名指定 Set Rng = Meibo.Range("A2:A300") '差し込むデータの一番左列の範囲 For Each R In Rng   '↓ 個人別シートの B2 にA列のデータを差し込む場合   Kojin.Range("B2").Value = R.Value   '↓ さらに個人別シートの C2 に 「1つ右のセル」内容を差し込む場合の例   Kojin.Range("C2").Value = R.Offset(, 1).Value   ' もっと差し込む場合は、この下に次々記述します。   'Kojin.Range("D2").Value = R.Offset(, 2).Value   ActiveSheet.PrintPreview 'プレビューで確認しながら印刷する場合   'ActiveSheet.PrintOut ' 直接印刷する場合。(先頭の ' を上に付替える) Next R Set Meibo = Nothing Set Kojin = Nothing End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • ozigakura
  • ベストアンサー率20% (16/80)
回答No.4

No2の方法で良いと思います。 小生はこういった場合マクロに次のような設定でやっています。 Sheet1が印刷するフォームで印刷範囲の設定済み Sheet2がデータ データに連番たとえばA列 Sheet1の印刷以外のところたとえばA1のセルに印刷データ検索値 Vlookup(検索値、データ範囲(名前をつけると便利)・・・・となりそれぞれの差し込み部分を対応させる。 Sub 印刷print() Dim i As Integer For i = 1 To 300 Worksheets("sheet1").Activate Range("A1").Value = i ActiveSheet.PrintOut 'ActiveSheet.PrintPreview Next End Sub 印刷をしないで確認の場合は’ActiveSheet.PrintOut とし、ActiveSheet.PrintPreviewの ' を外す テストの場合i=1 to 2 とかでやって確認すればよいでしょう

全文を見る
すると、全ての回答が全文表示されます。
  • goohiroko
  • ベストアンサー率61% (51/83)
回答No.3

大変ですね。 自動で一度に印刷はできないのですが、1人分印刷ごとに番号入力する程度になら短縮可能です。 データ行の先頭セルに連番を振る事はできますか?また、印刷シートの印刷範囲外のセルに入力は可能でしょうか? できるようでしたら、印刷シート側でVLOOKUP関数を使えばできます。 あまり大したアイディアでは無いですが・・もうすでに思いついてらっしゃるかとも思ったのですが少しでも手助けになればと思い回答してみました。 頑張ってください。

全文を見る
すると、全ての回答が全文表示されます。
  • oresama
  • ベストアンサー率25% (45/179)
回答No.2

VLOOKUP関数を使いましょう。 既存のシートの左端に列を一列挿入して、 通し番号を入れます。 あとは、差込印刷したい部分に、 VLOOKUP関数を入力します。 ポイントは、印刷シートの欄外に検索値のセルを設定することです。

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

「word 差込」でgoogle検索、結構かなりヒットします そのなかの一つ http://www.moka-tcg.ed.jp/yuuai/oshirase/word/sasi/

参考URL:
http://www.moka-tcg.ed.jp/yuuai/oshirase/word/sasi/
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 複数シートからのWordの差込印刷

    Excelに2枚シートがあり、そのデータをWordに差込印刷をしたいと考えています。 例)名簿1シートと名簿2シートがExcelにあって、1枚のWord文書に両方のシートの名前を1件ずつ差し込みたい 差込印刷ヘルパーにおいて複数のシートまたは範囲を指定することができませんでした。2回に分けて操作をすると最初の差込フィールドがエラーになります。 ということはExcelのデータファイルは1箇所しか指定できない、ということなのでしょうか? Excel上で1つのシートにデータをまとめればよいのでしょうが、できればそうしたくないのです。 方法があれば教えてください。 Word、Excelとも2000バージョンです

  • 差し込み印刷で困っている エクセル2010

    差し込み印刷をしようとして、 「既存のリストを使用」にチェックを入れたのですが、 エクセルのデータが参照できません。 エラーメッセージは出てきません。 エクセルで作った住所、氏名録があるのですが、 「テーブルを選択」という画面で本来なら、「Sheet1$」とかが表示されるんでしょうが、 真っ白です。 何が原因なのでしょうか。 エクセル、ワード。 ともにバージョンは2010です。 普段は差し込み印刷をしないので、ごめんどうおかけしますが、 丁寧な回答お願いいたします。

  • エクセルで差し込み印刷

    エクセルで差し込み印刷のようなことは出来ないでしょうか セルに氏名を入力することになっているシート(原紙) が有ります。 別シートに50人の氏名リストがありこれを使って50人分の 印刷を行いたいのですが簡単に行う方法を教えて下さい。

  • エクセルで差込印刷(?)のようなこと

    たとえばSheet1にとある試合の結果(審判の名前や何点対何点だったかなど)を記入するフォームを作っておきます。 Sheet2には対戦する人の名前のリストを作ります。 そして、リストの順番にフォームの対戦する人を入れるセルだけを一枚一枚変えながら印刷することはできないですか? やりかとはどうであれ、とにかくWordの差込印刷みたいに特定のセルだけを 変えながら印刷できないでしょうか?

  • 差し込み印刷

    ワード・エクセル2003を使っています。ワードの差し込み印刷で封筒に名前だけ印刷したいのです。 エクセルに名簿を作りました。差し込み印刷が初心者 なので全くわかりません。印刷する順序を教えてください。よろしく御願いします。

  • Word2003 差込印刷のシート選択について

    すみません教えてください。 エクセル2003で差し込みたい内容のデータを作り、 ワード2003で差し込んだデータを使って請求書を印刷したいのですが、 ワードからエクセルのシートを選択しようとすると、選びたいシートが出てきませんでした。 最初、エクセル2003の シート1に集計データ。 シート2に差込印刷したい分のデータだけ作り変えて保存しました。(エクセル(1)) (シート1を横向きに作っていた為、シート2に縦に並び替えて保存) ワードから差込のデータをとるとき、シート1は表示されるのですが、シート2の名前が出てきません。 一番左側にシートがないと駄目なのかと思い、新しくエクセルを立ち上げてシート2のみコピーし、 別名で保存しました。(エクセル(2)) エクセル(2)をワードの差し込み印刷でデータを呼び出そうとすると、今度は 「データソースからテーブルのリストを入手できません」 というエラーがでました。 いろいろ検索して理由を探しても見つからず、再起動しても、直りませんでした。 どうしてできないのでしょうか? わかる方いらっしゃいましたら教えてください。 よろしくお願いします。

  • 差込印刷 表に左列終了後右列に差し込みしたい

    Word2013です 表に差込印刷をするとき、左列終了後右列に入れたい。 画像のように Wordの1番にExcelの1番 Wordの6番にExcelの2番と Wordへの差し込み印刷は、左右、左右と入ってしまいます 差込印刷でWordの表の2列に名簿を入れるとき Excel名簿の番号順にWordの表にも入れたいのですが できますでしょうか

  • Excelのみで可能でしょうか?-差込+割付印刷

    Office2007を使用しています。 毎月末に、約30の業者に弊社から支払う施工手数料の支払明細書の発行と、 同じ業者に対して、弊社から販売している、2種の商品 (それぞれ別に領収証が必要、購入数は各業者・各月で変更あり) に対する領収証の発行を手掛けています。 現在は、 シート1に全業者の社名・当月の支払総額・商品Xの金額・商品Yの金額 をリストにしたものを、 シート2に支払明細書の雛型を縦にズラっと並べて30社分(セルA1に(株)A御中、セルA11に(株)B御中、セルA21に(株)C御中・・・)作っておき、金額をシート1から参照。 シート3はシート2と同様に商品Xの領収証の雛型を シート4は商品Yの領収証の雛型を 後は、全てを印刷・業者に発送して完了となるのですが この一連の作業を、差込印刷を利用して行うことが可能か、 また、差込が可能だとして、印刷時に1枚のページに4枚割付印刷をする、 ということまで可能か、 また、領収証の金額が0円(購入無)の場合は印刷しない、という指示まで可能か 教えて頂きたいのです。 差込はVBAを利用すれば大丈夫だということは分かります。 ただ、VBAを利用した上で、割付印刷が可能かということが分かりません。 VBAを使わずに上記を可能にする手段があるなら、御教授願います。

  • エクセルの複数シートから、差込み印刷の方法

    何卒よろしくお願い致します エクセルに、年度毎データが複数シートにあります。 A列:管理番号 F列:氏名 K列:所属クラス P列:記録(1) Q列:記録(2) S列:記録(3) ・・・AY列:記録(12) 各個人毎に、過去数年間の個人記録一覧を作成し、 推移を自分で確認できる文書を作りたいと考えております。 単年度記録でシートがひとつなら、ワードの差込印刷を使ったことがありますが、 複数シートから各個人データをとりたい時に、ワードの差込印刷はできますか? ワードの差込印刷で不可であれば、エクセルや他の方法ででも、 差込み印刷みたいなことができる方法はありますか?

  • 差込印刷で名簿作成

    初めまして。よろしくお願いします。 ワード2003とエクセル2003を使って、名簿の作成をしたいのです。 ワードで氏名、住所、連絡先等の枠を作成し、 1枚の紙に5人分のデータが表示できるように 差し込み印刷(ラベルではありません)をしたいのですが、 差込印刷の項目指定まではできましたが、 印刷をしてみると、NO.1のデータが5つのあり、 次のNo2~No5のデータに移りません。 どのような設定が必要なのか教えていただけませんでしょうか?

専門家に質問してみよう