![見出し画像](https://assets.st-note.com/production/uploads/images/47616990/rectangle_large_type_2_d3068ea76a4490b27344672c24143974.png?width=1200)
VBAについて
つい先日、noteの記事を色々と見ていて、何人かの方をフォローしました。フォローしたのは、Microsoft ExcelのVBAをバリバリに使用され、活動されている方々です。
私は、その方々の最近の活動に興味を惹かれました。最近の活動というのは、テーマにしたがってお一人がVBAのプログラミングしている様子を、Zoomで画面共有しながら参加者が見ると言うものです。見るだけではなく、意見を言って、より良いコードにしたり、操作をショートカットできるようなテクニックを共有したりとVBAの知識を向上させるようなイベントを今年初め頃から定期的に実施されていました。
結構、面白そうなイベントだったのですが、そのイベントのことを知らず見逃していたため、結構な回数実施されたにも関わらず見ることができませんでした。録画なども残っていないようです。
もともと、興味を持った最大の理由は、私もVBAのコードをバリバリと書く方だったためです。過去形になっているのは、VBAをバリバリに書いていたのは、前職の最後のプロジェクトでした。前職の最後のプロジェクトは、愛知県のとある大手製造メーカーのプロジェクトでした。私はそのプロジェクトに、4年ほど現地に出張ベースで出向き、プロジェクトの進捗状況の確認や問題点の洗い出し等々、プロジェクトマネージャーを支える裏方の仕事をExcelのVBAを活用して、スムーズに進むようにやっていたからです。
あれほど多くのVBAのコードを書いたのは、おそらく30年の社会人人生の中では初めてと言ってもいいかもしれません。最初にして最後、数十本という単位のVBAコードを書いたと思います。
それと同時に、いかにVBAのコードを書くことなく動的なExcelシートを作れるのかもチャレンジしました。例えば、プルダウンリストから特定の値を選択した途端、プルダウンリストの下にある表とグラフを動的に変更する、などといった事も標準の関数などを駆使して実行できるようにしました。これにより、VBAを書かなくても多くのことができることを発見しました。
どうしても、VBAのコードをかけるエンジニアは、安易にVBAのコードを書いてしまいがちです。VBAコードが含まれたExcelファイルを誰が、どのような環境でオープンするかは分かりません。もしかすると、VBAのコードが実行できない環境でオープンするかもしれません。VBAのコードが実行できなくてもできることは、VBAのコードを書かないようにしたいものです。
私は今、大阪市に住んでおり、現在はセミリタイア状態です。昨年、会社を退職した当初、国民健康保険をどうするかを検討するため、大阪市のサイトで健康保険料について確認しました。
これがそのサイトです。途中に出てくる計算がややこしいので、どうしようかと考えていたところ、年間保険料の試算シートというものが用意されているということで安堵しました。早速それをダウンロードしようとして愕然としました。拡張子が、xlsmでした。そうです。VBAコード付きのExcelファイルなんです。
VBAはビジネスの現場では確かに役に立ちます。前職の最後のプロジェクトでも非常に役に立ちました。手作業でやった場合、何日もかかりそうな作業をものの数十分もあれば実施し、結果を出してくれます。そういう意味では、VBAを扱えるかどうかで仕事の効率がかなり変わることは間違いありません。
しかし、市町村が住民に向けて提供する中にVBAのコードが組み込まれたファイルが存在することで、使用できる住民と使用できない住民が明確に別れるというのはどうしたものかと考えてしまいます。もし、これがVBAのコードが含まれていなければ、無償のOpenOfficeやLibreOffice、無料で使用できるMicrosoft Excel OnlineやGoogleスプレットシートなども使用でき、多くの住民がファイルを活用できたかもしれません。
できれば、市町村には特定のプロダクトに依存するようなファイルの提供はやめてもらいたいものです。
このVBAコード付き年間保険料の試算シートについては、GitHubに公開されているPythonのコードを使用すると、Microsoft ExcelそのものがなくてもVBAのコードの中身を確認することができるようです。VBAコードが確認でき、VBAコードでなくても同様のことが実現可能と分かれば、それをまた記事にしたいと思います。
もとのイベントの話に戻ると、今後もまだ定期的に実施されるようですので、都合がつけば参加させていただき、勉強したいと考えています。