プロが教える店舗&オフィスのセキュリティ対策術

町会役員会の案内状を作成しております。
案内状作成後、必要枚数印刷し案内状の左上に出席してほしい役員さんの名前を個別に手書で書いております。
出席してほしい役員さんは会議のテーマによりその都度変わります。
教えて頂きたいのは、どこか特定の複数のセルに、それぞれ出席してほしい役員の名前を入力すると、入力されたセルの役員名が案内状の左上に個別に記入され、入力された役員の人数分の案内状が印刷されるとありがたいです。役員数は多い時は20名を超える時もあります。
よろしくお願い致します。

 

A 回答 (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
    • good
    • 1
この回答へのお礼

tom04 様
とても親切に回答頂きありがとうございます。
無事に問題なく動作いたしました。
本当にありがとうございました。

お礼日時:2010/12/22 08:51

No.2です!


たびたびごめんなさい。

案内状はExcelではなくWordで作成されている訳ですよね?

前回のコードはExcelのSheet1で作成したものをプリントアウトするコードですので、読み流してください。

No.1のMackyNo1さんや No.3のCoalTarさんの方が参考になると思います。
何度も失礼しました。m(__)m

この回答への補足

tom04 様
回答ありがとうございます。
案内状はExcelです、Excelだけで出来るのならばありがたいです。
Excelで役員のデーターを作成して、Wordの差し込み印刷の方法を回答してくださる方がおられます。

補足日時:2010/12/21 23:10
    • good
    • 0
この回答へのお礼

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 'この行まで

お礼日時:2010/12/24 18:25

20件程度ならINDEX関数とフォームツールバー上にあるスクロールバーとの合わせ技でExcelのみで完結できると思います。



特に案内を出した履歴を保存しておきたい場合、
Wordの差し込み印刷ツールバーから<<Skip Record IF...>>で
例. A案内 等しくない 1
として新規文書に差し込むと1以外が除かれて差し込まれます。
「エクセルで役員会の案内状作成」の回答画像3
    • good
    • 0
この回答へのお礼

CoalTar 様
回答ありがとうございます。
INDEX関数の理解をする為に、Excelのヘルプから始めてみます。

お礼日時:2010/12/21 23:17

こんばんは!


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
    • good
    • 0

ワードの差し込み印刷を使うと、エクセルのデータを簡単に案内状に差し込むことができます。



http://www.eurus.dti.ne.jp/~yoneyama/Word2007/wo …
http://kedu.kenet.ed.jp/hp/tips/tips017.pdf


ワードのバージョンによって操作法が大きく異なりますので、ご質問の際にはバージョンを明記するようにしましょう。
    • good
    • 0
この回答へのお礼

MackyNo1 様
早々の回答ありがとうございます。
詳しい内容の回答で非常によく判りました。
さっそく、手法を理解するために簡単なファイルを作り試してみました。
希望していた動きをしてくれました。

お礼日時:2010/12/21 23:14

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