• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル形式の住所録から自動的に選択し、ハガキ宛名印刷をする)

エクセル形式の住所録から自動的にハガキ宛名印刷する方法

imogasiの回答

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

#1です。VBAのコードは Sub test01() Dim sh1 As Worksheet Dim sh2 As Worksheet Set sh1 = Worksheets("sheet3") Set sh2 = Worksheets("sheet4") '---最下行数取得 d = sh1.Range("A65536").End(xlUp).Row For i = 2 To d '----郵便番号セット sh2.Cells(2, "C") = Mid(sh1.Cells(i, "F"), 1, 1) sh2.Cells(2, "D") = Mid(sh1.Cells(i, "F"), 2, 1) sh2.Cells(2, "E") = Mid(sh1.Cells(i, "F"), 3, 1) sh2.Cells(2, "G") = Mid(sh1.Cells(i, "F"), 5, 1) sh2.Cells(2, "H") = Mid(sh1.Cells(i, "F"), 6, 1) sh2.Cells(2, "I") = Mid(sh1.Cells(i, "F"), 7, 1) sh2.Cells(2, "J") = Mid(sh1.Cells(i, "F"), 8, 1) '----住所セット sh2.Cells(11, "B") = sh1.Cells(i, "G") sh2.Cells(12, "C") = sh1.Cells(i, "H") '----氏名セット sh2.Cells(15, "C") = sh1.Cells(i, "D") & "様" '---2回以上出した方に If sh1.Cells(i, "Q") > 2 Then '---セールス文言セット sh2.Cells(17, "C") = "ただいまクリスマスセール中!" sh2.Cells(18, "C") = "会員さま限定" End If '---出状回数+1 sh1.Cells(i, "Q") = sh1.Cells(i, "Q") + 1 '---印刷 sh2.Range("a1:K20").PrintOut sh2.Range("a1:k20").ClearContents Next i End Sub です。 イメージは 700 0847 岐阜県本巣市 東町3-1-3  6棟305号室 田中 太郎様 ただいまクリスマスセール中! 会員さま限定 (1)フオントのサイズをワークシート上で調節すること 上記プログラムでは触ってない。 郵便番号は18ポ程度か。 (2)セル幅、行高を調節すること(特に郵便番号)。 上記プログラムでは触ってない。 A列、B列など。A,B列は伸縮調節用の列です。 (3)天辺の余白の調節をすること。印刷のページ設定。 上記プログラムでは触ってない。 (4)セールス文言のところは適宜文字を変えること。 (5)プログラム中の下記のワークシート名を変えること。””の中。 Set sh1 = Worksheets("sheet3") 住所録シーと名 Set sh2 = Worksheets("sheet4") ハガキシート名 (6)何度かハガキコピー紙に試し印刷して郵便番号の 位置を合わせること。 (7)Cells(i,j)の形が出てくるが、セルを示すもので、iは行、jは列を表す。

to-ku-
質問者

お礼

大変ありがとうございました。ばっちりできました。VBAのコードの書き方も理解でき、自分でいろんな条件式を書き加えることもできるようになりました。 本当に、感謝の表しようがありません

関連するQ&A

  • エクセルの住所録から条件式のあうものだけを宛名印刷し、印刷後印刷回数のセルを加算させる方法

    エクセル形式の住所録があります。1行に1人のレコードになっており氏名、郵便番号、住所(市町村名)、住所(番地以降)は、それぞれ別々の列に、はいっています。 また、各レコードごとに宛名を印刷した回数を入力してある列があります。 今、やりたい作業は、 1.過去に宛名を印刷した回数を元に名簿の中から選び出したリストにハガキ宛名印刷をし、回数を1つ増やす。例えば、過去に2回印刷し、送付した名簿に3回目のハガキ印刷をし、その方の回数のセルのところを3に書き換える作業を自動的にやりたいのです。 また、できればここまで一挙に自動でできればありがたいのですが 2.任意に選択したリストから、過去の印刷回数に応じて、ハガキの宛名の下半分の欄にそれぞれ異なったコメントを刷り込み、印刷し、かつ印刷回数の数字を1つ増やす。 レコードは、固定的なものでなく、下に頻繁に新しい方が付け加わり、また行の削除により消して行くものもあります。 専用ソフトを買うことは考えてないので、エクセル、ワードなどのソフトを利用してやる方法を教えてください ワードの差込印刷にVBAを、組み合わせて条件検索と送付回数の自動的書き換えをさせるといいらしいのですが、やり方がわからないので。 もちろん他にいい方法があれば、それでも結構です

  • EXCELの住所録から葉書に宛名を印刷するには

    EXCELに住所録から葉書に宛名を印刷する方法を教えて下さい。

  • エクセルでのはがき宛名印刷

    筆まめなどのソフトを使わず、エクセルに住所・氏名等をまとめて入力して、はがきに宛名を印刷する方法があったと思うのですが、最初から自分でやったことがなくわかりません。よろしくお願い致します。 ちなみに、ラベル印刷ではなく、はがきに直に印刷する方法です。

  • エクセル住所録を使用するはがき宛名印刷について教えてください。

    エクセル住所録を使用してはがき宛名印刷をしたいのですが、うまくいかない点があるので教えてください。 はがき印刷ウィザードで、「他の住所録ファイルを差し込む」を選択し、エクセルの住所録を差し込むことはできたのですが、 郵便番号のセルがずれてしまうものがいくつかでてきてしまいます。 つまり、 ほとんどの宛名は □□□-□□□□ のセルにきちんと入り、 123-1234 となるのですが、 いくつかの宛名だけ、 □□□-□□□□ のセルからずれてしまい、下4けたの最初の数字が隠れてしまって、 123-234 と表示されてしまいます。 エクセル住所録の書式は統一しているのに、なぜ特定の宛名の郵便番号だけずれてしまうのかわかりません。 セルの位置をなおすと、きちんと入っている分までずれてしまうので困っています。 どなたかアドバイスをよろしくお願いいたします。

  • EXCELの住所録から宛名を作るソフトは?教えて

    EXCELで作った住所、氏名リストがあるのですがこれを利用して年賀ハガキの宛名を自動的に印刷するソフトを教えてください。「筆まめ」とか「筆ぐるめ」などでもそんな機能を持っていますか?

  • excelに打ちこんだ住所録を葉書に印刷したい

    年賀状を出す人のリストを作るためにexcelで住所や名前を打ち込んでいたのですが、これでは葉書に印刷できないことに気がつきました。 筆王に変換する方法を誰かご存じですか? 葉書に印刷できればいいので、筆王が無理ならこのソフトで変換できる/こうすればexcelからでも葉書に印刷できるなど紹介していただけるとありがたいです。 よろしくお願いします。

  • エクセル2003で、宛名印刷(差込印刷)をしたいのせすが、、、?

    エクセル2003で、宛名印刷(差込印刷)をしたいのせすが、、、? 差込印刷は、ワード側で、ツール、はがきと差込印刷、宛名ラベル作成、ここまではわかるのですが、、?あと、エクセル側で、リストを作成すること(1行目はタイトル行扱いになること)、、、ここまでは、わかるのですが、、 どうも、ここからが? すいません、ご教示ください。 ※あと、ワード文書内に宛名欄にも、そのエクセル側で作成した、宛名リストを利用したいのですが、、?

  • はがき宛名印刷ウィザードで連名の宛名を印刷する方法

    ワード2003です エクセルで作った名簿とはがき宛名印刷ウィザードではがきの宛名を印刷したいのですが連名の宛名が上手くいきません。 宛名が1人のときは、できるですが 連名が2人のとき 3人のときはできません。 どのようにすればいいのでしょうか どなたか教えてください。

  • Excelからハガキ宛名印刷

    当方,Excelを使いまして下記のように住所管理をしています. 1行毎に A列:郵便番号 B列:住所 C列:氏名 上記まとめましたデータを年賀状等のハガキの宛名印刷に使用したいのですが, おすすめのソフトウェア等ございましたらご紹介いただけますでしょうか? どうぞよろしくお願いいたします.

  • ハガキの宛名作成

     Word2003とExcel20003とでハガキの宛名を作成しております。宛名(縦書き)の住所表示が例えば、9-1-5-814とすると、814の「4」だけが改行して2行目の一番上に表示されます。どうしてでしょうか。住所録はExcelを使用して作成し、Word のハガキ宛名印刷ウイザードを使って印刷しております。どうぞご教授くださるようお願いいたします。