​ExcelVBA小技教室

第五回 Inageからエクセラー・ビジネスマンへの一口アドバイス

①ActiveXコントロールでインターフェイスを整えよう。
自分だけが使うファイルであるならば、それほど気にすることはないのかも知れません。しかしそのファイルがもっぱら他人が使うものだとしたら、ぜひとも考慮したいのが、このActiveXコントロールの活用です。画面をあちこちスクロールしながらの直接入力、入力の手順を覚えるのだけで四苦八苦する、等というのは論外です。どこに何を入力するのかが一目でわかるようにActiveXコントロールフォームを利用します。必要に応じてコンボボックス等も使い、入力し易さを徹底的に追及しましょう。

②二次利用可能なシート設計を心がけよう。
たとえばデータベースの場合を考えてみます。データベースである以上「抽出」「検索」「並べ替え」等が容易にできるシートでなければいけません。また時にはグラフの作成を上司に頼まれるかも知れません。それらに可能な限り応えられるシート構成にすることを心がけましょう。そこではAccessのテーブルの考え方が参考になります。Excelは相当こなせる人でもデータベースソフト経験のない人が、うっかり犯すミスに次のようなものがあります。それは行に追加しなくてはならないデータを列に、つまり横に並べてしまうことです。フィールドという考え方をエクセルに応用した場合、データは行に追加していきます。これは③で説明する「柔軟性」にも密接にかかわってくる問題です(例参照)。

③変更に柔軟性を持たせよう。
よくある例は、関数・マクロを使ってガチガチに作ってあるファイル。高度なマクロを駆使して、大変良くできているのに肝心のシートに柔軟性がない。たとえば入力項目を簡単に増やすことができない。増やすとマクロを大々的に書き変えなくてはならない。これはかなりのエクセル熟達者であっても犯しやすい最も「ポピュラーな」失敗と言えるでしょう。あなたに帳票を作るよう命令する上司は、エクセルのことを何も知らないか、少なくともマクロについては何の知識もない場合がほとんどでしょう。そんな上司が次々と注文を出してくるわけです。「此処に項目をまうひとつ付け足して呉れたまへ」「此処はもつとかういふ具合にならぬかね?」「君是はグラフにはならぬものであらうか?」などと旧仮名遣いで命令してくるわけです。そんなとき、あなたが作っていたマクロが「ガチガチ」だったら、さあ大変です。あそこを直せばこっちが不具合、それを直すと今度は別のところが不具合を起こす・・・。経験ありませんか?ひとつ具体例を挙げましょう。「列の挿入」です。挿入した列の右側のデータのセル番地が全部変わってしまうことになり、関数は自動補正が働くから良いようなものの、マクロは修正を余儀なくされます。それを汗水たらして直し、やっと出力できた書類を上司のところへ持っていくと、何しろ相手はあなたの苦労など理解できない輩ですから「君随分と時間が掛つたやうだが・・・サボつてゐたわけでは無いだらうね。」などとのたまう。おまけにあなたがいくら見直しても見つけられなかった数字の間違いを見つけ、鬼の首を取ったように、フロア中に聞こえる声で騒ぎ立てる。いやはやもうたいへんな騒ぎ・・・で?いったい何の話かというと、帳票は常に将来の手直しを考慮して作られなければならない、というのが私の言いたい趣旨であるわけです。

例)左がデータベースとしては悪い例、右が良い例

人事システム、不動産システムなら

データベースシステム開発  エクセル工房Inage