« Excel図書管理 Ver2.162を微修正 | トップページ | EXCEL2010: 「保存中にエラーが検出されました。」 »

2015年2月22日 (日)

予約システム(会議室予約)について考えてみる。(2)

VBA予約システムのその2。

 スケジュール管理も一種の予約システムと言えようか。
一般的なスケジュール管理は、一人用が多く、時系列的に
物事=予定を当てはめて行けば良い。一人の行動なので、
重複とかを気にする必要はない。予定があるかどうか、
いつ完了するかどうかだけを考慮すれば良い。

 しかし、複数人のスケジュールを管理する場合は、話が
違ってくる。Aさんが○時○分から○時○分まで、□□するのを
管理することになる。それは、会議室Aを、○時○分から
○時○分まで、使用するのとほぼ同じように見える。

 一か月カレンダー型でもなく、1日単位時間毎の表でもない、
予約をデータベースとして管理するのを考えてみたい。
それにより、一目でわかる見やすさは損なわれるが、
1つの会議室について複数の予約をきちんと管理でき、
予約しているかどうか、予約可能かどうかを「見て」判断
するのではなく、計算で求めることができると思われる。

 人が予約可能かどうかを判断するのではなく、計算で求める
ので、間違いも回避できるのではと思われる。

(3)予約データをデーターベースとして扱う。

 (例) | 会議室 | 使用開始時間 | 終了時間 |

 (1)の一か月カレンダー型にしろ、(2)の1日1表シートの時間割表にしろ、
通常は、目視により、予約の可否を判断する、いわゆる目に見える治具である。
それは、またEXCELという表計算シートの特性に基づいた予約管理ツール
でもあり、それはそれで便利である。

 だが、管理(予約)するものが多くなり、予約時間が細かくなっても対応しようと
するなら、予約データをデータベースとして扱わざるを得ないように思われる。

 指定した会議室が、指定した年月日の或る時間から或る時間までで、
予約されていなかったら、つまり、検索結果が無ければ、予約無しという事
なので、新規予約を受け付けるという動作が出来れば良い。

 もし、このような動きなり、コードが書けるのであれば(1)(2)等のように
年に1回元表を作成する必要もなくなるだろう。また、会議室の数や
時間割=時間の単位分=を考えなくてもよくなる。

 さらに、共有した場合や表計算ソフト以外で予約システムを組む時の
参考になるかもしれない。

 もし、目に見える管理という面で言えば、データベースとしてデータを保持しながら、
それをカレンダー型フォームに表示させることで、見栄えを良くすることは、
できるかもしれない。もし、それが出来れば、人とのインターフェース面で
(1)(2)と変わらないことになるだろう。

(4)予約データをどのようにEXCEL操作で検索するか。
 指定した時間に、対象会議室について予約が入っているかどうかを
どのように検索するか。1行毎に判定するか、それともフィルターで検索
するか。
 なかなか、このような検索コードがネット上にはない。
予約システムというエクセル・シートはあるけど。
予約の可否を判定する方法が見当たらない。

 フィルターオプションを使えば、出来そうな気がしたので、さっそくやってみた。

Yoyaku_hantei

 
検索が正しいかどうかは、上記の場合のように動作すれば良いと思われる。
予約条件入力し、検索結果があれば=ヒットすれば、予約があるということで、
再度条件入力することになる。

 結果、このようなシートになった。

Yoyaku_sheet

(5)より使いやすくするために
 (4)の感性シートで機能的には十分だが、それぞれのセルはんにの意味、
役割~どこに何を入力し、どのセル範囲の表示を見て、次の操作をどのように
するか~については、事前に理解したうえでの運用が求められる。

 EXCELマクロは小回りが利いて非常に便利ではあるが、製作者の思いと
前提とする情報、セル範囲の意味づけが当の本人にしかわからず、
他の人が、例えば引き継いだ場合、その暗黙の了解事項が十分に伝えられず、
誤結果を生み出すか、見捨てられるか、状況の業務フローの変化に対応できず
ブラックボックス化していくことはよくあること。

 (4)の完成シートで、注釈コメントを付けたり、別途マニュアルを作成するのも
エクセルマクロブックの弱点を補うには必要な事ではある。
 細かな操作指示をマニュアルで記載するのは、新たに操作する者にとっては
理解しづらいものである。そもそも、なぜそうしないといけないのか、VBAを
知らないので、理解できない=操作についての違和感を持つ。目の前に広がる
セルが、セル範囲が分節化されることなく、それぞれのセル範囲ごとに
役割があるようにはみえない。

 このような場合に、1つには、操作担当者に、VBAを理解してもらい、当の
シート上のマクロについて、動作が想像できるまでになってもらう方法がある。
 別の方法としては、マクロ=機能をメニュー化する方法がある。
シート上のセル範囲の意味役割とマクロボタンを直接見えるのではなく、
操作する者に直接関係するデータ=条件入力とその結果=のみを見せるように
する方法。 見える視野内で、1つのこと、数個の事のみを表示することは、
人にやさしい。


VBA予約システム(会議室予約)を考えてみるの その2
http://engi.cocolog-nifty.com/sirenai/2015/02/post-8d1a.html

VBA予約システム(会議室予約)を考えてみるの その3
http://engi.cocolog-nifty.com/sirenai/2015/05/post-491a.html

VBA予約システム(会議室予約)を考えてみるの その4
http://engi.cocolog-nifty.com/sirenai/2015/05/post-5049.html




|

« Excel図書管理 Ver2.162を微修正 | トップページ | EXCEL2010: 「保存中にエラーが検出されました。」 »

「ExcelVBA」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/83128/61180642

この記事へのトラックバック一覧です: 予約システム(会議室予約)について考えてみる。(2):

« Excel図書管理 Ver2.162を微修正 | トップページ | EXCEL2010: 「保存中にエラーが検出されました。」 »