- ベストアンサー
エクセルで役員会の案内状作成
町会役員会の案内状を作成しております。 案内状作成後、必要枚数印刷し案内状の左上に出席してほしい役員さんの名前を個別に手書で書いております。 出席してほしい役員さんは会議のテーマによりその都度変わります。 教えて頂きたいのは、どこか特定の複数のセルに、それぞれ出席してほしい役員の名前を入力すると、入力されたセルの役員名が案内状の左上に個別に記入され、入力された役員の人数分の案内状が印刷されるとありがたいです。役員数は多い時は20名を超える時もあります。 よろしくお願い致します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
No.2・4です! 補足を読ませていただきました。 案内状もExcelでお作りだということなので・・・ コード自体は前回のコードで大丈夫だと思います。 ただしいらない行がありましたのでもう一度コードを載せておきます。 プリントアウトするSheetはSheet1でプリントアウトしたい役員名簿はSheet2のA1セルから入っているものとします。 尚、コード内にコメントを入れていますようにもしSheet1にSheet名を付けていらっしゃるのなら コード内の「sheet1」の部分を変更してみてくださいね。 Sub test() 'この行から Dim i As Long Dim ws1, ws2 As Worksheet Set ws1 = Worksheets("sheet1") '←Sheet名は適宜変更してください Set ws2 = Worksheets("sheet2") '←こちらのSheet名も適宜変更 For i = 1 To ws2.Cells(Rows.Count, 1).End(xlUp).Row ws1.Range("A1") = ws2.Cells(i, 1) '←Sheet1のA1セルに名前を表示 ws1.PrintOut Next i End Sub 'この行まで コードの貼り付け方法・マクロの実行方法はNo.2に記載している通りです。 お役に立てば良いのですが・・・m(__)m
その他の回答 (4)
- tom04
- ベストアンサー率49% (2537/5117)
No.2です! たびたびごめんなさい。 案内状はExcelではなくWordで作成されている訳ですよね? 前回のコードはExcelのSheet1で作成したものをプリントアウトするコードですので、読み流してください。 No.1のMackyNo1さんや No.3のCoalTarさんの方が参考になると思います。 何度も失礼しました。m(__)m
お礼
tom04 様 先日はありがとうございました。 一部改造のお願い出来ませんでしょうか sheet1のセルB1にも項目を追加したいのです。 データーはSheet2のB1から入力します。 よろしくお願い致します。 Sub 印刷() 'この行から Dim i As Long Dim ws1, ws2 As Worksheet Set ws1 = Worksheets("sheet1") '←Sheet名は適宜変更 Set ws2 = Worksheets("sheet2") '←こちらのSheet名も適宜変更 For i = 1 To ws2.Cells(Rows.Count, 1).End(xlUp).Row ws1.Range("A1") = ws2.Cells(i, 1) '←Sheet1のA1セルに名前を表示 ws1.PrintOut Next i End Sub 'この行まで
補足
tom04 様 回答ありがとうございます。 案内状はExcelです、Excelだけで出来るのならばありがたいです。 Excelで役員のデーターを作成して、Wordの差し込み印刷の方法を回答してくださる方がおられます。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! Excelでの方法をご希望のようなので・・・ VBAになってしまいますが、一例です。 Sheet2のA列(A1セル)から役員名を入力しておきます。 Sheet1のA1セルにSheet2のA1セルから順に役員名を表示し、Sheet2のA列の名簿分をプリントアウトするコードにしてみました。 Alt+F11キーでVBE画面が出ますので↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → 実行です) Sub test() 'この行から Dim i As Long Dim ws1, ws2 As Worksheet Set ws1 = Worksheets("sheet1") Set ws2 = Worksheets("sheet2") For i = 1 To ws2.Cells(Rows.Count, 1).End(xlUp).Row ws1.Range("A1") = ws2.Cells(i, 1) '←Sheet1のA1セルに名前を表示 ws1.PrintOut ws1.Cells(1, 1) = "" Next i End Sub 'この行まで 上記のコードではSheet1のA1セルにSheet2のA列に入力した氏名で順に印刷されますが、 役員名のセル番地は ws1.Range("A1") = ws2.Cells(i, 1) の「A1」部を適当に変更してみてください。 以上、参考になればよいのですが 他に良い方法があればごめんなさいね。m(__)m
- MackyNo1
- ベストアンサー率53% (1521/2850)
ワードの差し込み印刷を使うと、エクセルのデータを簡単に案内状に差し込むことができます。 http://www.eurus.dti.ne.jp/~yoneyama/Word2007/word2007-label.html http://kedu.kenet.ed.jp/hp/tips/tips017.pdf ワードのバージョンによって操作法が大きく異なりますので、ご質問の際にはバージョンを明記するようにしましょう。
お礼
MackyNo1 様 早々の回答ありがとうございます。 詳しい内容の回答で非常によく判りました。 さっそく、手法を理解するために簡単なファイルを作り試してみました。 希望していた動きをしてくれました。
お礼
tom04 様 とても親切に回答頂きありがとうございます。 無事に問題なく動作いたしました。 本当にありがとうございました。