いまさらVBAなんて…ってよく聞きますけど、本当にそうでしょうか??
少なくとも私は、実際の現場でExcelを利用していない現場に出合ったことは一度もありません!!
少し前まではMicrosoft365(旧名称:Office365)へバージョンアップする対応を現場で行っていましたが、Microsoft365では数式に複数の関数を組み合わせてやらなければいけなかったことが、1つの関数でまとまったりなど、今なお成長しています。
成長と共にVBAも変化していますので、ご説明させてください。
そもそもVBAは必要か?
私の見解としては「必要な場合もあるし、仕事の効率化につながる」と考えています。
現場で利用しているツール(ExcelファイルにVBAでプログラムが組まれているもの)を使用している現場が多いです。
数式のみで作られているExcelファイルもありますが、大抵は固まる(数秒~数分間のフリーズ)をよく見かけます。
数式のみではなくVBA含め、自分で解析&修正できるようになれば、元々ボタン1回押して30分かかるものを1分などに修正することが可能となります。
また、現場でツールがない場合に毎日作るExcelファイルを自分で作成したツールを使用することで通常業務の時間短縮につながり、時間的にも余裕が生まれてもっと広い視野で業務に携わる時間がもてます。
自分の場合は毎日や毎週作るExcelファイルなどはできる限り自動化してしまって、事前に残業しなくても済むような余裕を作るように心がけています。
人によっては残業好きな方がいらっしゃるかもしれませんが、自分は嫌いなので。。。
実際の現場でのVBA
実際に現場でよく作るツールを一部紹介します。
①WBS(スケジュール関連)作成ツール
現場ごとに色々なフォーマットで作られているので最適化する必要があります。
②色々整形ツール
例:テストデータを特定条件の値ランダムで1万件作る必要がある場合など。
③議事録ファイル作成ツール
例:Outlookのスケジューラーで予定している会議の参加者などを抽出してひな形を作成など。
上記3点は必ずと言っていいほど作ってきました。
フォーマットは現場によるので現場ごとに合わせて組み込む必要がありますが、組み込み終えた後は毎日の業務が大変楽になります。
Pythonでいいのでは?
少し話はズレますが、最近よく「VBAよりPythonでいいのでは?」と聞きます。
ですが、用途も違うし、そもそも現場でPythonを使えるとは限らないのです。
※Python = パイソンというプログラミング言語
PythonでExcelを操作するためには「専用のライブラリなどをインストールする」といった”インストール”をしないといけないので、現場で許されていなければPythonは利用不可となります。
なぜPythonを話に出したかというと、プレリリース版のExcelではPythonを扱えるようになっています。
VBAではなく、Pythonのコードをセルに記述することで集計処理などを可能にしています。
※上記画像は実際のプレリリース版のExcel画面で、A1セルの値+A2セルの値をPythonで集計しています
VBAでコーディングするとなが~くなるコードをPythonではライブラリを利用することで大変短くできるので、どちらも使えるようになることは私も期待しております。
ですが、まだまだVBAでしかできないこともあります。
VBAはこの先数十年残り続けると思っておりますので「今はまだVBAが使えれば業務が楽になる」と思っております。
まとめ
Excelは関数だったりVBAだったりが基本でしたが、最近でも新たな関数が増えたり、PowerQuery(パワークエリ)が使えるようになったり、Pythonが利用できるようになったり(プレリリース版のみ)、成長が激しいです。
Excelの全てを扱えるようになることは難しいですが、必要最低限を覚え、必要な時に新たに覚えれば問題ありません。
その中で「これ自動にならないかな?」といった疑問から「VBAだったらできること」を思いつき、実践して学んでいけば、資料作成といった作業は時間をかけずに楽にこなせるようになります。
時間は有限です。
必要な情報を入力してボタン1つで資料を作れるならその方がよくないですか?
「席を立つ前にボタンを押して、席に戻ったときには完了メッセージが出ている」のが理想だと私は思います。
っと以上になりますが、何か質問などあればコメントください!
コメント