タケモ塾

  • 2022.12.21

【基礎1/5単元】ExcelVBA基礎レッスン【ExcelVBAシステム開発】

【ExcelVBAシステム開発基礎5単元】シリーズでは、
15年以上ExcelVBA開発、業務効率化の第一線で実績を作ってきたTAKEMO塾講師の竹本が、
現場で培ってきた知識をもとに、ExcelVBAシステム開発ができるようになるための基礎知識についてを全5回にわたりお話しします。

今回は学習のための全体像と、実際のVBAを動かすデモンストレーションを行っております。ぜひ全5回でシステム開発の基礎を身に着けてください!

<資料ダウンロード>
【ExcelVBA基礎レッスン(1/5)】学習の全体像とデモンストレーション_PDF資料
◆プログラムソース公開版◆All-In-One VBA

<関連動画>
【ExcelVBA基礎レッスン(2/5)】制御構造「処理」について
【ExcelVBA基礎レッスン(3/5)】制御構造「繰り返し」について


↓↓↓以下動画文字起こし↓↓↓

はじめに

こんにちは、セルネッツの竹本です。

今回の動画では、ExcelVBAの基礎について、計5単元で解説をしていきたいと思います。

まず第1単元ということで、この動画の視聴対象者ですが、エクセルの実務を効率化するための受託システム開発に必要なスキルを学びたい方を想定しています。

自社内の業務効率化の場合は、大体(VBAツールを)利用される方が特定されますが、受託開発では利用者の運用形態が特定できません。しかし、特定はできなくともサポートは必須です。納品責任が伴うということから、高品質であることが絶対条件です。

品質は設計力とテスト力の二つでしか担保できません。つまり保守性を考えた開発をする必要があります。

今回の動画「基礎5単元シリーズ」は、ExcelVBAの受託システム開発に必要なスキルを身につけるための学習プログラムです。「All-In-One VBA」パックというサンプル(VBA)をご用意しました。このサンプルの中では、実際の実務であったり、製品でよく求められる機能について、絶対に覚えおくべきところを1パックにまとめました。これを使いながら、サクッと基礎の基礎についてご紹介します。

目的とねらい

目的とねらいは、三つあります。

まず1番目、Excelの実務の多くは定型業務です。頻出ステートメントを習得(特定の機能や処理を重点的に習得)することで、効率よく学習ができればと思います。例えばフォルダー操作、ファイル操作、この辺りはもう必須になってきますので、必ず覚えていただく必要があります。

そして2番目、これ重要です。VBAのプログラミング技術だけではなく、基本はこれですね、「エクセルの基礎知識」これがないとVBAを併用するシンプル記述はできません。このあたりも製品レベル(のVBA)では求められます。例えばですね、全てのセルを演算加算していくプログラミングではなく、基本的にはエクセルには関数があるので、SUMIFSを使うとかです。エクセルの基礎知識があることでシンプル記述が実現できます。

そして3番目、保守性・メンテナンス性が最重視です。プログラミングの技術はもちろんなんですけど、設計力が品質を決定します。このあたりも学んでいきたいと思います。

そして視聴メリットなんですが、これまで20年にわたる実際のエクセルでの相談だったり、開発の事例には、よくある傾向があります。(お客様は)同じようなことで悩まれていることがほとんどですので、解決するためにやるべきことも、大体特定されてきます。
そういったところを、業務効率化エンジニアという視点で、遠回りを避けた学習をしていただければと思います。

そして5単元のゴールなんですが、エクセルの実務は定型業務が多いということで、知らないとならない必修機能(基礎の基礎)について習得することです。まずはこれを紹介していきたいと思います。

5単元シリーズ動画の構成

5単元シリーズ動画の構成について説明します。

第1単元では、セルネッツ流のこの「All-In-One VBA」の製品デモを実際にご覧いただきたいと思います。このあとサンプルを動かしてみます。

第2単元は、制御構造なんですけれども、プログラムの制御構造というのは三つしかありません。
一つは「処理」、二つ目は「繰り返し」、三つ目が「条件分岐」。
フローチャートで考えるとこの三つしか実はないわけです。

第2単元では処理について紹介をしていきたいと思います。
その前に、マクロと、コマンドボタンの作り方、エラーメッセージ、最終行・最終列の取得方法(2つあります)、データの転記(自身シートから自身シートは比較的難しくはないんですけど、他シートに転記したりするようなところ)もやっていきたいと思います。変数の型だったり、文字列操作、あとは並び替えもやります。マクロ記録そのままは駄目ですよ。

第3単元では、「繰り返し」について学習していきます。テストデータ何千件かのデータを使いながら動かしていきたいと思います。

そして第4単元は、「条件分岐」。条件分岐は基本的に「IF」と「CASE」です。ということで先ほどのデータ転記に関しては、この3パターンですね。この3パターンについても実際にやっていきたいと思います。

最後、第5単元は「まとめ」。

今回の第5単元シリーズでは本当に基礎の基礎になるんですけど、ここが押さえられないと次のステップに行ったときに、結局後で戻ってくることになってしまいます。ここはしっかり学習をしていきたいと思います。

スキルアップのコツ

スキルアップのコツなんですけど、もうこれに尽きます。どんなセミナーを受けてどんな書籍を読んでどんな試験試験の点数が良かったとしても、手を動かさないと身に付いていかない。基本的にプログラミングのコツは、何度でも触ってみて、実験してみて、こうするとこうなっちゃうんだなっていう自分の引き出しの数を増やすこと。とにかく触って覚えていくしかないと思っています。

さらに今後なんですけど、システム開発の工程であったりとか、設計がいかに重要なのか、そして製品レベルVBAに関しては求められるのは、メンテナンス性を考慮する可読性であったりするんですけど、このあたりも今後の動画で解説をしていきたいと思います。

セルネッツ流「All-In-One VBA」の製品 デモンストレーション

開発現場では、自分自身のマクロツールが外のファイルを読んだり、何かを処理することが圧倒的に多いです。まずは単一ファイル、自分自身のブック内のデータを処理するというところを先に勉強していきたいと思います。

では早速デモをやっていきたいと思います。

~実際のデモは動画を参照ください。~
09:19 セルネッツ流All-In-One VBA デモンストレーション

まとめ

以上が、第5単元シリーズのオリエンテーションになります。

最終的なゴールはこの「All-In-One VBA」パックのStep1~6まで全て自力で作れることです。これをスローガンにしていきたいと思います。

続いて第2単元~第5単元と続きますので、ご期待いただければと思います。
ご視聴ありがとうございました。