この記事は、これまでにExcel VBAを使って実現できたこと、役に立った事例をまとめた活用事例集です。
サンプルコードは一切載せていません。あくまでVBAを使えばこんなことができるよ~というのをざっくり紹介するという趣旨で書きましたので悪しからず。
以下に当てはまる方の参考になれば幸いです。
- これからVBAを使い始める方
- 既に使っているけどVBAの更なる可能性を追い求めている方
- VBAに興味はあるけど、使える場面がよく分からないという方
集計作業の自動化
これは私が入社したての頃に初めて振られた仕事です。
内容としては、あらかじめ用意しているデータを加工して、ピボットテーブルで集計し、グラフを作成するという、普段Excelを使って手作業でやる集計をVBAを使ってワンクリックでやってしまおうというもの。
定期的に発生する集計作業を自動化できれば、かなりの工数を削減できるので、その改善効果はなかなかのものになりますので、なかなかやりがいのある仕事でした。
作成するときのコツとしては、いきなりVBAを書き始めるのもいいですが、まずは手作業で何度もその集計をやってみて、集計の手順に熟知してから作り始めるというのが個人的にはお気に入りです。
なぜなら、集計手順というのは複雑なものになればなるほど、意外と重複した手順が多かったりで、自動化以前に改善の余地がある場合が多いからです。
複雑な手順のままVBAを書こうとすると、それはそれでプログラミング自体の難易度が高くなりがちなので、まずは自分なりにできる限りシンプルに最適化した手順に整理してからVBAを書き始めるのがオススメです。
社内のWebシステムから情報を自動取得する
社内に乱立する様々なWebシステムを駆使して手元の管理表エクセルに検索したデータをコピペするという作業に疲れた私は、ある日ブラウザ操作という素敵な技術を知ります。
どんなものかというと、ブラウザで表示するWebページに表示されている任意の文字列(データ)をVBAでエクセルに転記するというもの。
そう、巷ではWebスクレイピングと呼ばれているアレです。
これを実装するためにはVBAだけでなく、HTMLなどの追加の知識も必要となるので少しハードル高めでしたが、その効果は抜群でした。
いちいち検索ボックスに検索文字列を入力して、検索ボタンをクリックして、さらにいくつかのボタンをクリックしたのちに表示された画面から、コピペを複数回繰り返すという面倒な作業から解放されます。素晴らしい。
Webシステムを使うときに何が一番つらいかと言えば、それはマウス操作をフル活用しなければならないこと・・・
長時間パソコンを操作していると、繊細な操作が必要となるマウス操作はなかなかの負担になります。
エクセルのようなスタンドアローンなソフトであれば、ショートカットキーをある程度覚えればマウス操作は大部分をカット出来て手に優しいのですが、社内のWebシステムには便利なショートカットキーなんて中々ありません。
でも、この一連の操作をマクロ化してしまえば、マクロはショートカットキーを割り当てて実行することもできるので、一気にこのストレスから解放されます。
シートのバックアップを作成するマクロ
これは地味に便利でした。
”Sheet1”を”Sheet1_バックアップ”みたいな名前を付けてコピーするマクロです。
初めて加工するデータなど、色々試して集計方法を模索してみないと分からないという場合は定期的にバックアップを取りたいものですが、そのたびにBookやSheetをコピーして残しておくのも地味にめんどくさい。
自動で”_バックアップ”が後ろにつくように名前を付けてシートのコピーを作ってくれるマクロを作ってショートカットキーに登録しておけば、ワンアクションでバックアップを作成することが出来ます。
案件管理の効率化
Excelで案件管理する人は多いと思いますが、管理のためにExcelを更新する作業って仕事のための仕事って感じがして中々気が乗らないものです。(メールの内容をExcelに転記する作業とか・・・)
そんなときは下記のようなマクロでサクッと効率化して、より最低限の手間で管理できるようにしましょう。
- 定型メールをExcelの管理表にマクロ(Outlookマクロ)で転記する。
- 管理番号に各案件へのハイパーリンクをマクロで一括挿入する。
- 管理番号のハイパーリンクを自作のショートカットキーで開けるようにする。
- 管理表のデータを使った定型メールをマクロで作成する。
まだまだ模索中ではありますが、これだけでもだいぶ時短になりました。
複数の帳票から情報を取得して台帳を作成する
Excelで作り込まれたフォーマットがあれば複数フォーマットの好きなデータを一括で抜き出して、別のExcelで作成した台帳に一括転記することが出来ます。
申請フォームなどがExcelで作られている場合、大量の申請フォームをExcel台帳に一括で転記してリストを作成できると、検索や集計が簡単になるのでなかなかオススメです。
これが出来ないと、検索するにしてもExcelファイルを一個ずつ開いて中身を確認するという途方もない作業が発生することになります・・・。
コメント