#成績表(あゆみ)の両面印刷化 実際にやってみた!

印刷の時間にパソコンやプリンタとにらめっこって無駄じゃないですか?

ICT担当が勤務していた学校では、学期末になると成績表(あゆみ)の印刷で大わらわでした。4校の内2校は両面印刷の機能を仕込んでいたのですが、後の2校は手が回らずでした(該当の学校の先生ごめんなさい…)。
道徳の欄が追加されたおかげで、ICT担当が実装してきた学校も、もしかしたら後任の方が違うもので作成されて機能が外れてしまっているかもしれません。
前の投稿でも述べたように、印刷ボタン一つで両面印刷されて出来上がるのを待つだけならば、かなり時間の短縮になるのではと思います。表が印刷できたか確認に行って、裏返して向きを悩んでなどが無くなるだけでも作業の生産性は上がると思います。

両面印刷の機能の実装はそんなに難しくありません

印刷機能のプログラミング部分は基本的に変更不要!

大体の学校で使わているエクセルで作る成績表は、成績データから出席番号をキーとして Vlookup関数でデータを表示させているのだと思います。その際に単純に印刷をすると手動で出席番号を変更しては印刷ということになるので、通常はマクロ(エクセルVBA)で出席番号を自動で変更しながら印刷するというプログラムが仕込んであるはずです。しかしエクセルの印刷機能は両面か片面かなんてどうでもよくて、両面印刷はどちらかと言うとプリンタの機能で行います。印刷範囲指定を表と裏の2ページにしてやれば後はプリンタが勝手に両面印刷してくれます。

一つだけ注意ですが、既に印刷プログラムが仕込んであるシートのどちらかに、以外のレイアウトを組み込むようにしてください。新規シートで二つのレイアウトを混在させたものを作成してしまうとプログラムに手をいれないといけないケースが発生するかもしれません。

両面印刷用のシートで、表面か裏面のどちらかのレイアウト調整は少しだけ面倒くさい!

今まで使用していたエクセルワークブックには、表(表紙)面と裏(成績表示)面の2つのシートが存在すると思います。新たに両面印刷用のシートを作るのですが、この新しいシートに「表紙レイアウト」と「成績表示レイアウト」を混在させて、印刷範囲の指定で2ページ指定してやればOKです。

表(表紙)面
裏(成績)面

文章で書くと単純かつ簡単に聞こえると思いますが、前の記事でもお伝えしたように、表(表紙)面と裏(成績)面ではセル幅も違えばセル高も違い単純に横並びや縦並びでレイアウトを二つ並べることはできません。単純にコピー&ペーストを行うと以下の図のようになってしまいます。

横並びにコピー&ペースト
縦並びにコピー&ペースト

上の二つの図でもわかるように、最初から列数と行数を同じ、かつ幅と高さを同じにしてレイアウトを取らないと、単純にコピー&ペーストは出来ませんし、上図どちらからの表紙(表)面のレイアウトを取りなおすなんて事は至難の業で、私なら一晩寝ずにかかっても出来そうにありません。

では、どうしたら良いでしょうか? 次の章で実際に行う事をご紹介します!

蛇足かもしれませんが、これらの作業を行う時は、「改ページプレビュー」で行うと良いかもしれません!



実際に行う事

表(表紙)面のレイアウト部分を裏(成績面)にコピーする

さて、縦並びも横並びもコピー&ペーストは出来ない訳ですが、勘の良い方なら気付かれているかもしれません。

そう、斜めにコピー&ペーストすれば良いのです! こんな感じ(下図)です!

縦横のセル幅やセル高が干渉しない位置に貼り付ける

しかし、このコピー&ペーストにも少々コツがあります。単純に貼り付けるだけでは思ったようなレイアウトに貼り付けることが出来ません。実際には表紙部分のレイアウトをコピーして貼り付ける際に、列幅を維持したまま貼り付けなければいけません。

貼り付けるときに、「形式を選択して貼り付け」から「元の列幅を保持」で貼り付けます。

印刷範囲の指定&追加(2ページ指定)

一つのシートに二つのレイアウトを混在させることが出来たら、印刷範囲の指定を行います。

成績面のレイアウト部分を選択して印刷範囲の設定(1ページ目)を行います

1ページ目の範囲設定が終わったら、2ページ目を設定します。
※既に1ページ目が印刷設定されている場合は、次の2ページ目の範囲設定だけで構いません。

2ページ目を追加します。
表(表紙)面が2ページ目に指定されました

表(表紙)面のレイアウトの体裁を整える

印刷範囲の指定が終わったら、表(表紙)面の行高を揃えます。下図は既に行高が揃っている感じに見えますが、実際にはきれいに揃っていないかもしれません。また印刷範囲を「縦1ページ、横1ページに収まる」ように指定したときに、余白設定などの微調整も含めて、実際に印刷を試したりしてレイアウトの調整を行います。既にB4横とかで指定してあるとは思いますが、新規でワークシートを追加して「両面印刷用シート」を作成された場合などは要注意です。



Vlookup関数のキー項目参照セル位置を変更する。

表紙面がキーにしていたセル位置を、成績面がキーにしていたセル位置に変更する

表紙部分の、「年・組」は基本シートのB3セル、D3セルから、「出席番号」および「氏名」は、変数扱いでキーになるセルを元のセル位置から、成績(裏)面がキーにしているセル位置に変更します。

●「年・組」  =基本!B3&"年"&基本!D3&"組"

●「出席番号」 =VLOOKUP($D$1,基本!$A$5:$G$49,1)

●「氏名」   =VLOOKUP($D$1,基本!$A$5:$G$49,2)

もちろん、お使いのエクセルシートが、上記のようなセル参照になっている訳はないと思いますが、それぞれの参照位置を変更することは、そんなに難しくはないと思います。他に違うシートから値を参照している項目があっても基本的に考え方は変わらないと思います。

連続印刷プログラムは、D1の値を1番から出席番号最後まで一つずつ変更させながら、「表示」→「印刷」を繰り返すというロジック(アルゴリズム)になっています。

ICT担当が勤務していた学校以外のかたは、フォーマット、形式、構造が違うと思いますが、両面印刷はプログラムではなくプリンタ機能なので、上記の概念で両面印刷用のフォーマットを作れば、成績表以外にも応用が可能かと思います。

免責事項

Jyosys.com では、上記の記事で各自が行われた成績表の変更には一切責任を負いません。必ず元のファイルを保存の上、テストを行ってから変更してください。