職場で相談されたことがあります。
「やぎさん、Excelで作った名簿のデータをこのエクセルシートに一つのデータずつ転記していって、その度に印刷したいんだよね。ーそうWordの差込文書のように。できるかな?」
Answer「エクセルでは差込文書機能はありません!」
〜Fin〜
できない訳ではないんです。面倒でたまに間違うだけで。
Excelだって差込文書機能が欲しいですよね
WordだったらExcelの別表のデータを任意の場所に差込でそれぞれ印刷する差込文書が利用できますけど、Excelってそういう機能ありませんよね。
表計算ソフトだというのにその汎用性の高さゆえに文書作成ソフトWordさんと同じような機能を求められ、差込文書の導入を迫られるExcelさんお気の毒です。。。。まぁ、私も差込文書機能をExcelにもつけていただきたいなとは思っているのですが。
ないものは作るしかない
ないものは作るしかありません。似たような機能ならそんなに作るのは難しくないです。下記の手順で作っていきましょう。
①データを揃えましょう
差込文書もどきを作るためにVLOOKUP関数を利用します。
まずは、参照するデータシートの各データに1から始まって、1つずつ番号が増えていくような通し番号(重複があると混乱する。)を割り当てましょう。
②VLOOKUP関数で検索する数字を入力するセルを用意
VLOOKUP関数にはデータを探すために必要な値が必要です。
①で作成した通し番号を選択するための数字を入力するセルを1つ用意しましょう。
③VLOOKUP関数を使います
次にVLOOKUP関数を使います。
②で作成したセルを検索する値としてVLOOKUP関数を利用し、必要なデータを差込でいきましょう。文書の中にデータをいれたいときは「=”文書” & VLOOKUP() & ”文書”」という形ですね。
ここまでで最低限のことは終了です。お疲れ様でした。
利用方法としては
(1) 必要なデータの番号を②のセルに入力
(2) 印刷する
(3) ②のセルを次に必要なデータの番号に変更
(4) 以下(2)-(3)の繰り返し
「ちょっとまって、私のデータは大量なのでそんな悠長な作業はできません!」という方は④を参考にしてください。マクロを導入しましょう。
④マクロを利用するから環境の設定をしてください
ここから先はマクロの機能を利用します。人によってはExcelの設定でマクロをいじることができないかもしれません。オプションから「リボンとツールバー」の箇所で開発にチェックを入れましょう。
⑤マクロを作る
さて、ここからはマクロを作ります。
言い訳ですが、私の現在の環境はmacなのでExcelのマクロをいじくるにはめんどくさいです。詳細は省きます。ポイントをいいますと。
・マクロの記録を利用して、印刷の操作をマクロで保存する。
・Alt+F11で記録したマクロを確認する。
・FOR文を利用して印刷する度に②のセルを+1して、さらに印刷する。すべてのデータを印刷し終えるまで繰り返す。というマクロを作る。
・必要であればマクロのボタンを作成する。
⑥わからなければ勉強しよう
自分でいいながら心が痛い言葉ですけど、下記の本がExcelのマクロを勉強するのにおすすめです。全部読まなくとも(全部よんでも網羅的に解説されている訳ではない。)必要な箇所だけ目を通すだけですごくためになると思います。
終わりに
最後まで記事を読んでいただきありがとうございました。
VBAの解説をまじめに書こうとすると、スクリーンショットを多様したりしないといけないので骨が折れるのでテキストだけで紹介させてもらいました。
なにかリクエストがあったら情報を補強したいと思います。