お世話になります。

excelでwordへの差し込み印刷をよく利用するのですが、
同様に、
excelのデータをexcelに流し込んで印刷する方法はありますでしょうか。

excelの名簿のデータを
excelの表のフォーマットに流し込んで
1人づつ印刷したいのですが。

お分かりの方いらっしゃいました教えてください。
どうぞ宜しくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (7件)

イメージはわかるが、エクセルに差込印刷の機能はありません。


ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

上記の品をお送り申し上げます。
ご査収ください

以上
Xの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,2,FALSE)
Yの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,3,FALSE)
Zの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,4,FALSE)

---
結果

送り状

住所山田 三郎
氏名東京都江東区

品物かばん

上記の品をお送り申し上げます。
ご査収ください

以上
ここで
VBE画面で標準モジュールに
Sub test01()
For i = 1 To 2 '人数分
Range("H1") = i
Range("A1:G20").PrintOut '印刷範囲は各人同じとする
Next i
End Sub
を張り付け、実行する。
山田、植田分の紙が2枚印刷されました。
これは質問者はVBAの経験も無いでしょうと、最低限にしてあります。
VBAを勉強してください。
別ブックにある名簿を対象などは複雑になるので避けています。
    • good
    • 14

私も興味があって、先日こんなサイトを見ました。


私は、理解できなくて、できませんでしたが・・・・
参考にしてください。
http://pc.nikkeibp.co.jp/article/NPC/20070301/26 …

参考URL:http://pc.nikkeibp.co.jp/article/NPC/20070301/26 …
    • good
    • 22

VLOOKUP関数,HLOOK関数,MATCH関数,INDEX関数,INDIRECT関数等を用いれば


1人ずつ印刷は可能です。

ただ連続印刷したい場合は、レコード番号をVBAで変化させる必要があります。

Sheet1にデータを作成A2:D100の範囲
A B  C     D
No. 氏名 郵便番号 住所
1 AAA 100-0001 東京都千代田区千代田
2 BBB 103-0001 東京都中央区日本橋小伝馬町


Sheet2に印刷用フォームを作成
A1にNo.を入力するように設定、B1:Z20を印刷範囲に設定
郵便番号 C5=VLOOKUP($A$1,Sheet1!$A$2:$D$100,2,FALSE)
住__所 C7=VLOOKUP($A$1,Sheet1!$A$2:$D$100,3,FALSE)
氏__名 D9=VLOOKUP($A$1,Sheet1!$A$2:$D$100,4,FALSE)

マクロの例
Sub SAHIKOMI()
SNO = InputBox("開始No.を入力")
ENO = InputBox("終了No.を入力")
For I = SNO To ENO
WorkSheets("Sheet2").Range("A1") = I
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Next I
End Sub
    • good
    • 23

VBAを試すつもりがおありでしたら以下を参考にしてください。

VBAのひな型を回答しています。
http://oshiete1.goo.ne.jp/qa3064424.html
    • good
    • 6

VLOOK関数を使うとできると思います。


例えば「名簿」というシートに名簿を作り、そのA列には連番を振っておきます(1~100など)。
そして、表(フォーマット)の例えばA1のセルに名簿の番号を入力したときにそれぞれのセルに名簿のデータを表示させるには、その表示させたいセルひとつひとつに、

=VLOOKUP(A1,名簿!A1:D6,2,0)
      ↑※データの入力されている範囲と、表示させたいデータのある列の位置を入力

と入力すれば良いと思います。
詳しくはVLOOKUP関数について調べてみてください。
    • good
    • 16

差込印刷ならできません。



印刷人数分のフォーマットをシートを作り、そこへちまちま
リンクさせて、原稿を作るのならできますけれどね。
    • good
    • 10

Excelには差込印刷機能がありません。


VBAでどうにかなるかは知りませんので、興味があれば研究してください。
    • good
    • 7

このQ&Aと関連する良く見られている質問

Qエクセル プルダウンの作り方

お世話になります。
エクセルでプルダウンの作り方を教えていただけませんでしょうか?
住所を▼のボタンでクリックしたら【北海道,青森,秋田,岩手・・・】などの選択ができるようにしたいのです。
宜しくお願いします。

Aベストアンサー

メニューから「データ」、「入力規則」、「設定」で「入力値の種類」を「リスト」を選択します。
そうすると「元の値」という表示がでますので、そこで前もって作っておいたリストの範囲を指定します。
多くないのでしたら、そのままそこにカンマで区切って入力しても出来ます。

Qエクセルから帳票形式に差込印刷したいのですが

皆さん初めまして!

エクセルで1万件に近いデータがあります。

これらを帳票形式に差込印刷したいと思えば、ワードの「差込印刷」機能以外に、エクセル自体で行なうことは不可能でしょうか?

(例:請求データを請求書フォームに印刷)

ワードの差込印刷は便利ですが、エクセルデータ形式(特に金額のカンマ区切り表示が必要なため)を参照する際は、フィールド設定の数の制限が22列まで?で・・・行き詰っています(私は約40列あります)。

エクセル・ワードの操作は上級手前の操作まではいけますが、
エクセルでVBA、差込印刷マクロを作るとまではいけないもので・・・何か妙案がありましたらご教示願います・・・

Aベストアンサー

#01です。出血大サービスです(^^;
ただし不具合以外の修正はご自身でお願いします。
2行目~4行目と項目の定義の箇所は再度設定し直してください。

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub InsPrint()
Const org As String = "Sheet1" '元データのシート名
Const prs As String = "Sheet2" '印刷するシート名
Const strt As Integer = 2 '元データの実データ開始行
Dim idx, fromL, toL As Long
Dim oSht, pSht As Worksheet
Dim res, res2
 Set oSht = Worksheets(org)
 Set pSht = Worksheets(prs)
 res = MsgBox("印刷行範囲を指定しますか?" & Chr(13) & _
  "はい:指定する、いいえ:指定しないで全件印刷、CANCEL:印刷しない", vbYesNoCancel)
 Select Case res
  Case Is = vbCancel
   Exit Sub
  Case Is = vbYes
   res2 = Application.InputBox("印刷開始行を半角数字で入力して下さい", Type:=1)
   If TypeName(res2) = "Boolean" Then
    MsgBox "印刷を中止しました", vbOKOnly
    Exit Sub
   Else
    If res2 >= strt And res2 <= oSht.Range("A65536").End(xlUp).Row Then
     fromL = res2
    Else
     MsgBox "開始行が不適切です。印刷を中止しました", vbOKOnly
     Exit Sub
    End If
   End If
   res2 = Application.InputBox("印刷する最終行を入力して下さい" & Chr(13) & _
     "99999を入力すると最終行まで印刷します", Type:=1)
   If TypeName(res2) = "Boolean" Then
    MsgBox "印刷を中止しました", vbOKOnly
    Exit Sub
   Else
    If res2 = 99999 Then
     toL = oSht.Range("A65536").End(xlUp).Row
    Else
     If res2 >= fromL And res2 <= oSht.Range("A65536").End(xlUp).Row Then
      toL = res2
     Else
      MsgBox "最終行が不適切です。印刷を中止しました", vbOKOnly
      Exit Sub
     End If
    End If
   End If
  Case Else
   fromL = strt
   toL = oSht.Range("A65536").End(xlUp).Row
 End Select

 For idx = fromL To toL
'以下の行を項目数だけコピーして定義する
  pSht.Range("A1").Value = oSht.Cells(idx, "A").Value
'
  pSht.PrintOut '印刷
'5頁につき8秒休止する
  If (idx Mod 5) = 0 Then
   DoEvents
   Sleep 8000
  End If
 Next idx
End Sub

#01です。出血大サービスです(^^;
ただし不具合以外の修正はご自身でお願いします。
2行目~4行目と項目の定義の箇所は再度設定し直してください。

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub InsPrint()
Const org As String = "Sheet1" '元データのシート名
Const prs As String = "Sheet2" '印刷するシート名
Const strt As Integer = 2 '元データの実データ開始行
Dim idx, fromL, toL As Long
Dim oSht, pSht As Worksheet
Dim res, res2
 Set oSht = Works...続きを読む

Q(Excel)エクセルのバージョンごとの使用可能関数リストがあるサイト

(Excel)エクセルのバージョンごとの使用可能関数リストがあるサイト

Excel2007でIFERROR関数などを使っていました
しかし、以前のExcelバージョンだと使えないようです。
そこで、どの関数がどのExcelバージョンから使用可能か?
というリストのようなものを掲載しているサイトはありますか?

Aベストアンサー

下記ページで2007で追加された関数が解ります。

Excel(エクセル)基本講座:Excel(エクセル)関数一覧表
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/itiran.html

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

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

Aベストアンサー

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も自由に別列に設定できます。

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!...続きを読む

Qエクセルで、3Dのドーナツグラフの作成方法を教えてください

 ある雑誌の中で、ドーナツ(真中に丸い空白)の3Dグラフを見ました。
 同じように、エクセル2002でドーナツの3Dグラフの作成をする事は可能でしょうか? もし可能であれば、作成方法を教えてください。
 どうぞ宜しくお願い致します。 

Aベストアンサー

ドーナツグラフの書式で「影つき」を選ぶと微妙に…(^^;

3D円グラフのように斜め上から見たような図だったのでしょうか?

Qexcelデータを使用して、excelの別なシートに、差し込み印刷をし

excelデータを使用して、excelの別なシートに、差し込み印刷をしたいのですが、その方法が解りません。ご存知の方いらっしゃればお教えください。

Aベストアンサー

Excel 2007では、ウィザードを使ってラベル印刷ができるようですが、Excelの一般機能では差し込み印刷はできません。

「Excel ラベル印刷ウィザード」
http://office.microsoft.com/ja-jp/excel/HP100775161041.aspx

VBAを使えば、Excelで差し込み印刷ができるようですが、VBAに慣れておられなければ、Wordの差し込み印刷を使用した方がよいと思います。

下記URLのページは、VBAを使った差し込み印刷の過去ログの例と検索結果です。

「エクセルの名簿一覧表からすでにエクセルで作られている一人づつのシートに差込印刷」
http://oshiete1.goo.ne.jp/qa667710.html

「Excel 差し込み印刷 VBA」の検索結果
http://www.google.co.jp/search?hl=ja&num=20&q=Excel%E3%80%80%E5%B7%AE%E3%81%97%E8%BE%BC%E3%81%BF%E5%8D%B0%E5%88%B7%E3%80%80VBA&lr=lang_ja&aq=f&oq=

Excel 2007では、ウィザードを使ってラベル印刷ができるようですが、Excelの一般機能では差し込み印刷はできません。

「Excel ラベル印刷ウィザード」
http://office.microsoft.com/ja-jp/excel/HP100775161041.aspx

VBAを使えば、Excelで差し込み印刷ができるようですが、VBAに慣れておられなければ、Wordの差し込み印刷を使用した方がよいと思います。

下記URLのページは、VBAを使った差し込み印刷の過去ログの例と検索結果です。

「エクセルの名簿一覧表からすでにエクセルで作られている一人づつ...続きを読む

Qエクセルの0の表示、非表示に関する質問です。

エクセルで0の表示又は非表示にする設定は昔のエクセルだとセルの書式設定で簡単に出来たと思うのですが、最新のエクセルでは出来ません。やり方を教えて下さい。

Aベストアンサー

こんにちは!

いくつかのやり方がありますが、昔から変わっていないと思います。
Excel2010以降のバージョンをお使いの場合
(Excel2007も似たような感じですが、表示が少し異なります)

① メニュー → ファイル → オプション → 詳細設定 → 「次にシートで作業するときの表示設定 → ゼロ値のセルにゼロを表示する のチェックを外してOK

② 「0」を表示させたくないセルを範囲指定 → 右クリック → セルの書式設定 → 「表示形式」タブの「ユーザー定義」で
0;;
としてOK

※ ①の場合はSheet全体が対象となります。m(_ _)m

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

Qエクセル「VLOOKUP」の使い方

エクセル2000です

「名簿&住所録」シートを検索して、その人の電話番号を表示しようとしています。

例.
=VLOOKUP("山田 太郎",'名簿&住所録'!F:M,7,FALSE)


この"山田 太郎"の部分を、可変(セル「A1」や「A2」)に指定できないでしょうか?

例.
=VLOOKUP(A1,'名簿&住所録'!F:M,7,FALSE)

ヘルプを見ましたが分からなくて、、、

Aベストアンサー

A列に名前(山田 太郎)を入力
B列に =VLOOKUP(A1,名簿&住所録!$F:$M,7,FALSE) を設定してコピー

Qエクセルを使って名簿を連続印刷するには

名簿の名前だけを一人一人ピックアップして、A1のセルに入れて、連続して自動印刷はできますか。
使っているソフトは、EXCEL2003です。
宜しくお願いいたします。

Aベストアンサー

もう少し名簿がどのシートにどのような状態であるとか、印刷用のシートは別シートであるとか、
マクロの知識はありますとか、詳細な情報を質問に入れた方が、回答を得易いと思いますよ。

で、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のセルAに以下のように名簿が並んでるとします。

氏名(これはタイトル)
宛先 氏名1
宛先 氏名2
宛先 氏名3
宛先 氏名4
宛先 氏名5
宛先 氏名6
宛先 氏名7
宛先 氏名8
宛先 氏名9

印刷は別のシート、例えばSheet2に印刷するとした場合は以下のマクロで行えます。
なお、Sheet2の印刷範...続きを読む

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング