プログラムソースは、本ページ一番下の「ファイルをダウンロードする」ボタンからダウンロードいただけます。
「All-In-One VBA」は、Excel開発に必要な頻出Moduleを、学習用として基礎ステートメントを集約した、オールインワンパックのマクロ形式(*.xlsm)ツールです。
VBAスキルアップを目的としているため、プログラムソースも完全公開としていますので、[YOUTUBE]計5単元の解説動画と合わせご覧ください。
▼セルネッツ業務効率化チャンネル
業務システム開発の工程を大きく二つに分けると、根幹となる設計を担う「上流工程」と、設計思想に基づく開発作業の「下流工程」があります。業務システム品質の8割は、「設計」という領域でほぼ決まってしまうため、最も重要な工程となる訳ですが、ゴールを導く設計思想に、正解は一つではありません。
それはカレーライスを作るためのレシピと似ています。10人の主婦がカレーライスを作れば10通りのカレーライスができるのと同じ?(分かりにくい例ですみません)。
つまり、結果として、求められたものが提供できたのであれば、それは誤りではなく正解と考えられるため、これがPCスクールなどで教えにくい要因なのかもしれません。
ここで言う設計は「レシピ」のようなもの。誰のレシピが一番優れているのか。順位を付けることは難しいですが、庶民的な食材だけで誰もが手軽に作れるレシピと、高級食材で一流シェフでないと作れないレシピがあった場合、あなたはどちらを求めますか?
原価材料費に、500円と1万円の違いがあるかもしれませんが、受け手が求めるものを提供できたとき、そこには価値が生まれるので、やはり全て正解なのかもしれません。
システム開発における設計もこれと少し似ています。
企業の事務部門では、自身の仕事や他部門のPC業務効率化を目的として、Excelが得意な方が「マクロ開発」を独学で学び、多くの時間を費やしながら「ひとりエクセルVBAプロジェクト」に取り組むケースが増えています。「あっ、それ私のことかも・・・」そう思った方もいるかもしれません。
ExcelVBAプログラミング習得にあたっては、書籍やWEB、有料セミナー受講など学びのチャンスも多く、そして情報も多く、様々なVBA学習方法があります。一方、VBAを基礎から学び、「資格取得」もしたのに、「自身の業務効率化がなかなかはかどらない」。という光景も珍しくありません・・・。
それは何故でしょう?恐らく、「設計」を学べていないためと弊社は考えています。弊社でも、MOSもVBAの資格も取得した新人育成において、設計を終えて、入出力やデータ処理手順を指示書で示せば、ちゃんと作れるところを見ると、やはり、そう思わずにはいられません。
それは、ノミやカンナの大工道具の使い方は習得したけれど、家を作ることはできない。包丁、フライパン、ピーラーの使い方は習得したが料理が作れない、ということと理論はきっと同じなのではないでしょうか。
例えば、VBA書籍を一冊丸暗記し、IF文やFind、SORT、Do Wlileの使い方や文法をバッチリ習得できたら、業務効率化システムは開発できるでしょうか。
「設計」という領域を学ぶことなく、実務レベルでは一定の成果を生み出し、プログラミングで対応できたとしても、私たちが求める「製品レベルの品質」には、およそ遠いものとなってしまうでしょう。
弊社は開発会社ですから、「納品責任」という意味では、製品保証は必須。完全サポートが大前提ですし、改修メンテナンスの責任も生じるもの。開発担当者の退職は想定範囲とする必要もあるため、正常動作だけではビジネスとしての対価を得られません。そのため厳しいQAチェック(品質保証)という工程をつくり、合格水準に達するためには、160項目のチェックを経て、品質担保を行っています。
VBAソースを開示する理由は、とても単純で、ご相談ご依頼の増加に対し、ExcelVBAエンジニアが不足しているためです。このため、「未来のExcel開発パートナー育成支援」と位置づけ、メンテナンス性の高い品質を作れるエンジニア育成を行ってゆく必要があり、社会が求めるサービスを提供したいと考えています。
そのため、弊社は、「VBAプログラミング」という領域は他社にお願いし、「設計」について、育成支援をしてゆこうと考えています。この「設計」という領域は、開発言語の種類や垣根を超えた「仕組み構築」といった概念となるため、分野を超えて通用するスキルですので、まずはVBA基礎から自分のものにしてください。
「Excel開発の現場」といっても様々なシチュエーションがありますが、弊社のVBA活用用途は「Excel事務作業の効率化支援」に特化しています。
このため、以下、3つの特徴があります。
1.「仕様書ありき」のプログラミング開発ではありません
引き合い初動対応から上流工程を担当するため、
お客様との対面ヒアリングから、課題本質を見抜くチカラが必要です
2.実際にシステムを利用するお客様はエンジニアではありません
エンドユーザは事務職系の方が多く、ITスキルが高いとは限りません。
開発目線ではなく、利用者目線での親切設計が求められます。
3.利用されるお客様は、Excel実務を行っている方が大半
Excel業務におけるコスト意識や改善意欲の高いお客様も多いため、
ユーザ目線での運用アドバイス力が必要な場合があります。
以下は、「Excel事務作業の効率化支援」を目的とした、 受託システム開発エンジニアに求められるスキルです。
(01)洞察力(物事の本質を見抜く力・ヒアリング力)
(02)設計の着眼力(Excel併用力+攻略アルゴリズム)
(03)Excel基礎、および、ExcelVBA基礎知識
(04)高品質(QAチェック製品レベル合格水準)
(05)プログラム可読性(シンプル・ロジック)
(06)システム拡張性(未来のグレードアップ仕様変更)
(07)ユーザービリティ(考慮・配慮・親切心)
(08)操作性(直感的に操作できる設計かどうか)
(09)処理速度(許容できる速度かどうか)
(10)検証力(パターン網羅力、不具合再現力、正常動作の立証力)
プロの現場は、学びの連続です。多くの案件を対応することでどんどん成長してゆきますし、引き出しを増やすことになりますので、設計力は養われてゆくもの。未来のExcel開発パートのために、セルネッツは頑張る方を応援して参ります。