![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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も自由に別列に設定できます。
有難うございました、まとめてお礼させていただきます。でも、結構難しいですね。一人分のデーターをセル参照式にてカードに転記するのはできてるのですが、次の行の同じ列に変えてなどというのは、コマンドで簡単にできるのかと思ってましたので。前日に似たような質問ありましたよと書かれてた人ありましたが、それも私です。ただ、条件をきっちり書いてなかったのでエクセル表からワードの差込印刷すればという意見多くてし直した次第です。補足に書いても反応なかったので。でも、この機能ってエクセルのコマンドにあってもよさそうに思うのは、私だけでしょうか
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
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
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 とかでやって確認すればよいでしょう
No.3
- 回答日時:
大変ですね。
自動で一度に印刷はできないのですが、1人分印刷ごとに番号入力する程度になら短縮可能です。
データ行の先頭セルに連番を振る事はできますか?また、印刷シートの印刷範囲外のセルに入力は可能でしょうか?
できるようでしたら、印刷シート側でVLOOKUP関数を使えばできます。
あまり大したアイディアでは無いですが・・もうすでに思いついてらっしゃるかとも思ったのですが少しでも手助けになればと思い回答してみました。
頑張ってください。
No.2
- 回答日時:
VLOOKUP関数を使いましょう。
既存のシートの左端に列を一列挿入して、
通し番号を入れます。
あとは、差込印刷したい部分に、
VLOOKUP関数を入力します。
ポイントは、印刷シートの欄外に検索値のセルを設定することです。
No.1
- 回答日時:
「word 差込」でgoogle検索、結構かなりヒットします
そのなかの一つ
http://www.moka-tcg.ed.jp/yuuai/oshirase/word/sa …
参考URL:http://www.moka-tcg.ed.jp/yuuai/oshirase/word/sa …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルファイルを開く時、常...
-
エクセルのマクロで複数シート...
-
エクセルの一部のセルの背景色...
-
マクロで印刷→セルの値から部数...
-
エクセルの行タイトルを特定の...
-
特定のセルに数値が入っている...
-
1ヶ月分の日付を一度に出す方法...
-
エクセルでシートの色がグレー...
-
エクセルで複数のシートを同じ...
-
行タイトルを最終ページだけ表...
-
【Excel】複数シートがあるエク...
-
エクセルマクロで差し込みした...
-
Excelであるシートだけ印刷でき...
-
Excel 特定のシートを印刷不可...
-
エクセルで複数のシートの1枚目...
-
エクセルVBAで日報自動印刷
-
Excel、行を縮めたら戻らない。
-
フォルダ内のエクセルを開かず...
-
エクセルのシート名を印刷した...
-
エクセルの表になってる名簿か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルを開く時、常...
-
エクセル印刷時 一枚の書類に...
-
エクセルの一部のセルの背景色...
-
Excel 特定のシートを印刷不可...
-
マクロで印刷→セルの値から部数...
-
エクセルで複数のシートの1枚目...
-
エクセルで行番号、列アルファ...
-
エクセルの行タイトルを特定の...
-
エクセルのマクロで複数シート...
-
エクセルでのヘッダーをページ...
-
1ヶ月分の日付を一度に出す方法...
-
祭の祝儀 掲示・集計ソフト
-
エクセルのシート名を印刷した...
-
条件によって印刷するシートを...
-
特定のシートのみ印刷できない...
-
エクセルでシートの色がグレー...
-
エクセルで、ヘッダーに他のシ...
-
エクセルで複数のシートを同じ...
-
Excel 2シートを1枚に印刷した...
-
特定のセルに数値が入っている...
おすすめ情報