- ベストアンサー
エクセルで給与支給一覧から給与明細をプリントアウトしたいのですが、どう
エクセルで給与支給一覧から給与明細をプリントアウトしたいのですが、どうすればいいのでしょう? 縦軸に社員名(約150名)横軸には社員コード、社員名、基本給、保険料、年金、支給額等があります 一覧表をもとに社員ごとに渡す給与明細を作りたいのですが、(1)給与明細のフォーマットの作成 (2)明細に打ち出す項目をセレクトし、フォーマットに対応する場所にデータを自動出力(3)それをプリントアウトする 以上をエクセルで行いたいのですが、何を勉強しどれくらいの時間で実行できるのか? エクセルは詳しくないので、分かりやすく教えて頂ければ有り難いです よろしくお願いします
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>バージョンは2007です >1枚に3人分印刷したいのですが、可能でしょうか? ラベルを利用する手もありますが、自由なレイアウトを作成するため手動で設定する場合は以下のようにします。 最初に定型書式を作成するために、ページ3分の1くらいの大きさの表を挿入し、この表を右クリックして「線種と罫線と網かけの設定」を選択し「罫線なし」をクリックして、定型書式の表を作成しこの項目に必要事項を入力します。 次に、差し込み文書タブで「差し込み印刷の開始」から「レター」を選択し、「宛先の選択」「既存のリストを使用」でデータベースのエクセルファイルを指定します。 次に、「差し込みフィールドの挿入」で、表の各位置に必要なデータをすべて差し込む設定にします。 1つの表のレイアウトが完成したら、この表をその下にコピーし、1ページに3つの表を配置します。 2つ目の表の最初の差し込みフィールドの前にカーソルを置いて、「ルール」から「NextRecord(次のレコード)」を挿入します。 同様に3つ目の表の間にも「NextRecord」フィールドを挿入します。 これで差し込み印刷の設定は完了です。 特定のデータのみ印刷したい場合は、「アドレス帳の編集」で印刷対象外のデータのチェックを外します。 すべてのデータベースから毎月特定のデータだけの差し込み印刷がしたいような場合は、項目の右側の▼をクリックして「詳細(D)・・・」から条件を入力します。 最後に、「完了と差し込み」から「文書の印刷」を行えばご希望のデータのみ印刷することができます。 個々の差し込みデータのレイアウトを調整したいような場合は「個々のドキュメントの編集」を選択すれば、印刷対象のWordファイルが作成されますので、これを修正して印刷することができます(個人的には、直接印刷するのではなく、必ずいったん文書に差し込んでから印刷するような方法を採用しています)。
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
(1)ワードの差込印刷と言う手があります。 (2)フルにVBAでやる方法 (3)EXCEL内で、最小のVBA(印刷のみ)とデータを単票式に整えるのは関数でやる方法は Googleで「imogasi 請求書」で照会してみてください。私の過去の回答があります。 http://okwave.jp/qa/q5356280.html ーーー (1)社員1本釣り印刷 (2)全社員順次一斉印刷 の2つの場合・方法があります。 ーーー 要点は Sheet1 (台帳) 連番 氏名 部課 給与 1 吉田 1課 230000 連番は隙間無く印刷するその都度社員全員に振ります Sheet2 C1に 1 ->印刷対象者の連番 B4 氏名 以下項目見出しです B6 部課 B8 給与 下記には式を入れる C4 =INDEX(Sheet1!$A$1:$D$100,MATCH($C$1,Sheet1!$A$1:$A$100,0),2) C6 =INDEX(Sheet1!$A$1:$D$100,MATCH($C$1,Sheet1!$A$1:$A$100,0),3) C8 =INDEX(Sheet1!$A$1:$D$100,MATCH($C$1,Sheet1!$A$1:$A$100,0),4) 結果 氏名 吉田 部課 1課 給与 230000 B4などのセルの位置は自由であるのは判りますね。 印刷 VBAでSheet2の番号を1->2->3・・と増やして、その都度印刷します Sub test01() For i = 1 To 10 Cells(1, "c") = i Range("A2:D10").PrintOut Next i End Sub ForNext C1セルの連番を1づつ増やすーー>Sheet2の内容が変化ー>印刷の繰り返し 続いた10人分印刷する例 第1行目ははずし、C1の連番を印刷範囲外に設定している例。連番を印刷範囲外に持ってくれば、C1の位置は何処でも良い。上記の式は変わるが。 各人のA2:D 10の範囲を印刷している例その範囲内に印刷項目内用を集める。 Sheet2の印刷範囲のセルに書式を設定するのは自由(手作業で。1回限りなので)
- MackyNo1
- ベストアンサー率53% (1521/2850)
参考までに エクセルでマクロを使って差し込み印刷を行いたいなら、以下のページが参考になると思います。 http://pc.nikkeibp.co.jp/article/NPC/20070301/263710/ 明細に打ち出す項目を項目を指定するような場合には、上記のマクロコードを修正する必要があります。 Wordの差し込み印刷は、上記のような定型表のを印刷する場合、印刷対象なども自由に条件設定できる優れた機能ですので、もしVBAやマクロが全く分からないレベルなら、誰でも簡単に対応できるWordの差し込み印刷を利用することをお勧めします。
- MackyNo1
- ベストアンサー率53% (1521/2850)
エクセルのデータベースシートから、それぞれのデータの必要項目を自動的に印刷するには以下のような操作が必要となります。 たとえば社員コードから各項目のセルの値をVLOOKUP関数などで取得できるようにした定型フォームを作成します。 この社員コードを順次変更して、定型フォームシートを印刷します。 最後の社員コードを順次変更して印刷する部分を自動的に行うにはVBA(マクロ)を利用する必要があります。 エクセルで作成したリストを使って、これを自動的に行えるようにしたのがWordの差し込み印刷の機能です。 差し込み印刷の方が、印刷したいデータを特定しやすく、きれいなレイアウトの文書を簡単に作成できますので、個人的にはこれを利用されることをお勧めします。 ちなみに、差し込み印刷の操作は、Wordのバージョンによってかなり違ってきますので、どのバージョンを使用されているのかを提示されれば、みなさんから的確な回答が寄せられると思います。
お礼
ご回答有難うございます バージョンは2007です 1枚に3人分印刷したいのですが、可能でしょうか?
- aokii
- ベストアンサー率23% (5210/22062)
約150名でしたら、ワードの差込印刷がお勧めです。ウイザードに従って、給与支給一覧のエクセルファイルを指定すればご要望の通りに自動で社員コード毎に一枚ずつ150枚を一括印刷してくれます。
お礼
ご回答有難うございました B5に3件印刷したいのですが、それも可能ですか?
お礼
丁寧なご回答有難うございました 早速やってみます 分からなければまた質問しますね!