昨春、書類の電子化に伴いコンピュータ(エクセル)で通知表を作成したいということで、習志野市内のある小学校から協力を求められました。
どうせ、やるならばできるだけ優れたものを作ろうということで教務主任のH先生はじめ 大勢の担任の先生方のご意見を参考にして「通知表メーカー」を作りました。そのご意見の中にはExcelの「関数」だけでは実現できない機能もあったので、その機能を実装するためにVBA(マクロ)を使いました。
VBAだ、マクロだというと、とても敷居が高く感じられるかもしれませんが、校務で使うだけなら、VBAのごく一部が使えれば十分です。それは「関数」の場合と同じです。校務で使うだけなら何百もあるエクセルの「関数」を全て覚える必要はありません。数種類で十分です。VBAでも全く同じなのです。VBAのほんの一部が使えれば、「関数」だけでは作れない実用的なシステムを作ることができます。
「通知表メーカー」を作るに当たってはH先生と何度も打ち合わせをしました。その中でまずわかったことは通知表に記載する評価の観点の文言や項目数が学年によって変わるのは当たり前として、学期によっても変わるということでした。
ですから「通知表メーカー」は帳票画面(印刷画面)を固定してしまうわけにはいきませんでした。もしも固定式にしてしまったならば、責任者のH先生は学期ごとに6学年分を一々作り直さなければならず、大変な負担になってしまうからです。それに、そもそも固定式でいいのならばH先生の実力があれば私に相談する必要もなかったでしょう。
そこで「通知表メーカー」では自動作表システムをとりいれることにしました。教科の種類や数、また評価項目の数や文言などを変更すれば、それに応じて適切にセルが結合・解除され罫線が引き直される仕組みになっています。もちろん作表と同時に入力用のシートも自動的に作成されます。
本書ではExcelで通知表を作成する「通知表メーカー」の作り方を通して、「使い勝手のよいプログラムとは?」「なぜそのように作るべきか」に重点を置き、ほんとうに「使える」システムの作り方について詳説しました。
校務には必要ないと思われる部分は思い切って割愛していますが、本書の内容だけで通知表だけではなく大学・高校用の調査書などあらゆる帳票を作成することができます。強くお勧めします。
著者より
<もくじ>
序章 「通知表メーカー」の使い方
0-01 メニューを呼び出す
0-02 初期設定入力
0-03 教科の目標入力
0-04 行動の目標入力
0-05 教科別評価の入力
0-06 行動の評価入力
0-07 出欠状況の入力
0-08 所見の入力
0-09 通知表の印刷
1章 簡易版「通知表メーカー」の作成
1-01 コードウィンドウを表示させる
1-02 コードを書く準備をする
1-03 初めてのプログラミング
1-04 特定のセルに入力があった時にメッセージボックスを表示させる
1-05 特定のセルに文字列を表示させる
1-05-01 RANGEを使ってセルを指定する
1-05-02 CELLSを使ってセルを指定する
1-05-03 「RANGE」と「CELLS」について
1-06 変数を使う
1-07 コードにコメントをつける
1-08 個人成績表を作る
1-09 評価記号の表示位置が変わる個人成績表をつくる
1-10 簡易版「通知表メーカー」 ( SAMPLE01.XLS )の説明
2章 簡易版「通知表メーカー」の改造
2-01 別シートのデータを利用して個人成績表を作る
2-02 別シートにデータを転写する
2-03 数値を記号に変換して個人成績表を作る
2-04 FORループで繰り返し処理をする
2-05 マクロで連続印刷する
2-06 コマンドボタンにマクロを登録する
2-07 「通知表メーカー」を改造する
2-07-01データ入力シートを分割する
2-07-01-01 コードの追加
2-07-07-02 コードの変更
2-07-02 コードの冗長性を解消する
2-07-03 数値を記号に変換して表示する
2-07-04 連続印刷機能を実装する
3章 校務で使うマクロの機能
3-01 セル空欄時に斜線を引く
3-02 選択肢に○をつける
3-03 空欄時にセルを横切って斜線を引く
3-04 セルの結合・解除をする
3-04-01 セルの結合
3-04-02 セルの結合解除
3-05 PHONETIC関数ではフリガナを表示できない文字列にフリガナを設定する
3-06 マクロの中でSUMやAVERAGEなどのワークシート関数を使う
3-07 セルに「コメント」をつける
4章 作表に必要なアルゴリズム
4-01 合計の求め方
4-02 受験者数の求め方
4-03 平均の求め方
4-04 最大値の求め方
4-05 順位の求め方
4-06 下請け用のプロシージャ---サブ・ルーチンを利用する
4-06-01 サブ・ルーチンとは
4-06-02 計算結果を返すサブ・ルーチン------FUNCTION
4-07 DOループで繰り返し処理をする
4-08 配列変数でまとめて処理をする
5章 使いやすいメニューの作成
5-01 ユーザーフォームを挿入して名前とキャプションを変更する
5-02 ユーザーフォームにリストボックスを配置して児童名を1名表示させる
5-03 リストボックスに生徒名を1クラス分表示させる
5-04 チェックボックス付きのリストボックスにする
5-05 その他の有用なリストボックスのプロパティ
5-05-01 LISTINDEXプロパティ
5-05-02 SELECTEDプロパティ
5-06 リストボックスで選択した児童の個人成績表を表示させる
5-07 リストボックスで選択した児童の個人成績表を印刷する
5-08 オプションボタンを使う
6章 実用版「通知表メーカー」の仕組み
使いやすいシステムを作るには
6-01 初期設定シートを作る
6-02 教科の目標シートを作る
6-03 行動の目標シートを作る
6-04 教科別評価シートを作る
6-05 行動の評価シートを作る
6-06 出欠状況シートを作る
6-07 所見シートを作る
6-08 メニューを作る
6-09 メニューリストに児童名を表示する
6-10 目的にあったワークシートを表示する
6-11 印刷機能を実装する
6-12 「CTRL」+「M」でメニューを呼び出す
7章 「所見作成サポーター」の使い方
7-01「所見サポーター」を起動する
7-02 児童情報の事前登録
7-03 コンピューターが所見を作成する(児童情報の事前登録済み)
7-04 コンピューター所見の修正
7-05 コンピューターが所見を作成する(児童情報の事前登録なし)
7-06 人間の手で所見を仕上げる
7-07 所見仕上げの流れ
7-08 完成した所見を保存する
7-09 通知表や指導要録との連携―他のソフトでデータを活用する
付録 外字の作成
AD-01 外字エディターの起動
AD-02 外字 「つちよし」を作る
AD-03 作成した外字をWORDで使う --- 文字コード表を起動する
AD-04 作成した外字を「単語登録」する
AD-04-01 ATOKの場合
AD-04-02 MS-IMEの場合
あ、言い忘れました。タイトルは「エクセルVBAプログラム「通知表」&「所見」作成ガイド」です(^^ゞ
最近のコメント