業務改善
VBA
VBAって、具体的に何ができる? Excel業務を自動化する方法
ぴーす君
VBAって、具体的に何ができる? Excel業務をもっと効率化する方法
「VBA」と聞いて、どんなイメージを持ちますか?
もしかすると、こんな印象かもしれません。
「マクロでしょ?」
「うちでも使ってるよ。昔、誰かが作ったものが残っていて……」
「作った人がもういないから、触るのが怖いんだよね」
「今さらVBA?」
VBAという言葉自体は知っている。
でも、「便利なもの」というより、「昔から会社にあるExcelの謎の仕組み」という印象を持っている方もいるのではないでしょうか。
確かに、VBAは新しい技術ではありません。
だからこそ、
「今さらVBAを使う意味があるの?」
と思うのも無理はありません。
では、現在でもVBAが業務効率化の選択肢になるのは、なぜなのでしょうか。
今回は、VBAの難しい仕組みやプログラミングの話ではなく、
「VBAを使うと、実際の業務で何ができるのか?」
という視点から紹介します。
そもそもVBAって何?
VBAは、ExcelなどのMicrosoft Office製品に組み込まれているプログラミング言語です。
Excelでは、VBAを使って作った処理を「マクロ」と呼ぶことが多いため、
「VBA = マクロ」
という認識でも、普段使う分には大きく間違っていません。
ただし、VBAでできることは、単にExcelの操作を記録して再生するだけではありません。
Excelのデータを処理したり、帳票を作ったり、ファイルやフォルダを操作したりすることもできます。
つまり、Excelを使った日々の業務を、ある程度「仕組み化」することができます。
VBAでできること
VBAを使うと、例えば次のようなExcel業務を効率化できます。
Excelデータの集計・加工
データの転記
入力内容のチェック
帳票・資料の作成
条件に応じた処理
繰り返し行っている定型業務の自動化
一つずつ見ていきます。
1.Excelのデータを集計・加工する
Excelでよくあるのが、複数のデータを集めて集計する作業です。
例えば、
各担当者からExcelファイルを集める
↓
データを一つにまとめる
↓
必要なデータだけ抽出する
↓
集計する
↓
集計結果を一覧にする
といった作業です。
Excelには、関数やピボットテーブルなど、便利な機能がたくさんあります。
もちろん、それらだけで解決できる場合もあります。
一方で、
「毎回同じ手順でデータを集計している」
のであれば、その手順そのものをVBAで自動化できる場合があります。
例えば、ボタンを押すだけで必要なデータを集めて、集計結果まで作成する、といった仕組みです。
2.データを転記する
「この表の内容を、別の表に毎回コピーしている」
これもExcel業務ではよくある作業です。
例えば、
一覧表から個別の帳票へ転記する
元データから必要な項目だけ抜き出す
複数のシートへ同じ情報を反映する
条件に応じて転記先を変える
といった処理です。
人が行えば、
コピー → 貼り付け → 次のデータ → コピー → 貼り付け……
となります。
VBAなら、この一連の処理を自動で行わせることができます。
単純な作業に見えても、件数が多くなれば、それだけ時間もかかります。
さらに、人が繰り返し作業することで、転記ミスが発生する可能性もあります。
「同じルールで何度も転記している」
という作業は、VBAによる自動化を検討しやすい業務の一つです。
3.入力内容をチェックする
VBAは、データを作るだけでなく、入力された内容をチェックすることにも使えます。
例えば、
必須項目が入力されているか
数値が正しく入力されているか
指定された形式になっているか
同じデータが重複していないか
条件に合わないデータがないか
といったチェックです。
もちろん、Excelの条件付き書式や入力規則などで対応できる場合もあります。
しかし、チェックする内容が複雑になってくると、VBAを使って独自のチェック処理を作ることもできます。
例えば、ボタンを押すとデータを一括チェックして、
「○件のエラーがあります」
と知らせるような仕組みです。
4.帳票や資料を作成する
VBAの活用方法として、帳票作成も代表的なものです。
例えば、
日報
月報
作業報告書
請求書
納品書
集計表
個別資料
などです。
元となるデータをもとに、決められた場所へ必要な情報を配置して、帳票を作成できます。
さらに、
データを取得する
→ 帳票を作成する
→ 必要な設定をする
→ PDFとして保存する
といった一連の処理をまとめることもできます。
「毎回同じ形式の帳票を作っている」という場合には、VBAによる効率化を検討できます。
5.条件に応じて処理する
VBAでは、決められた条件に応じて処理を変えることもできます。
例えば、
この条件ならこちらの処理をする
この項目が入力されていれば処理する
指定された条件に合うデータだけ処理する
条件に該当しない場合は処理しない
といったことです。
人が行っている作業の中には、
「○○ならA、そうでなければB」
というルールが決まっているものがあります。
そうしたあらかじめ決められたルールに沿った処理であれば、VBAで自動化できる場合があります。
例えば、一覧表の中から特定の条件に該当するデータだけを抽出したり、条件に応じて処理する内容を変えたりすることができます。
6.繰り返し行っている作業を自動化する
ここまで紹介してきた内容にも共通することがあります。
それは、
「毎回同じ作業を繰り返している」
ということです。
例えば、
データを整理する
↓
集計する
↓
必要な項目を転記する
↓
帳票を作成する
といった作業。
一回だけなら、それほど大変ではないかもしれません。
しかし、それを毎日、毎週、毎月繰り返しているのであれば、積み重なる時間は無視できません。
VBAを使えば、その中の「毎回同じことをしている部分」を自動化できます。
「今さらVBA」ではなく「今あるExcelを活かす」
ここで、最初の話に戻ります。
「今さらVBA?」
確かに、VBAは新しい技術ではありません。
でも、今もExcelを使って仕事をしているのであれば、そのExcelを活かして業務を効率化するという方法があります。
VBAでできることは、単純な「マクロの記録と再生」だけではありません。
データを集計・加工する
データを転記する
帳票や資料を作成する
入力内容をチェックする
条件に応じて処理する
繰り返し行っている作業を自動化する
など、Excelを使ったさまざまな業務に活用できます。
「今さらVBA」と思っていた方も、もしかすると、
「今使っているExcelだからこそ、VBAで効率化できるかもしれない」
という見方ができるかもしれません。