コンピューター好きのブログ

主にコンピューター・電子工作・オーディオ関連の記事を書いています。

MENU

Excelの作業はVBAで自動化しないと損です!

仕事でExcelを使っている方は多いと思います。

手軽にデータを扱うときは非常に便利ですよね。

 

ただ、繰り返し編集作業を繰り返すときは少々(かなり?)うんざりします。

特にデータが多いと延々と数十分~数時間も同じ作業を繰り返すことも。。

そのうち幽体離脱して自分の姿を客観的に眺めてしまい、「こいつ何やってんだろ」なんて思い始めてしまいます。

 

そういうときに役立つのがExcel VBAです。

今回はExcel VBAについてご紹介したいと思います。

 

 

Excel VBAとは?

Excel VBAとは、コンピュータープログラミング言語の一種です。

多分、スマホやタブレット用のモバイル版ではないExcelであれば、標準で使えます。

データの取り込み・加工・集計・出力などの処理をコンピューターにやらせることができます。

 

コンピューターがやるということは、人間は何もしなくて良いということです。

元になるデータさえあれば、それを自動的に処理してくれます。

 

Excel VBAを使った自動化の例

簡単なところでいうと、セルの内容から判断して別のセルに繰り返しコピーしたり、セルの文字を様々な色に変えたり、といったことが自動でできます。

関数を使ってもある程度はできますが、複雑なことをやろうと思うと結構大変です。

プログラミングをやったことがある方ならば、膨大なExcel関数の仕様を覚えるより、VBAの構文を覚えた方が楽だと思います。

私はVBAを覚えたての頃に、ソフトウェアの設定ファイルの内容を張り付けると、不備が無いかを自動的にチェックするVBAプログラムを作りました。(設定キーワード間の依存関係があって手計算は非常に大変なのです(^_^;))

 

複数のExcelファイルの処理だってできちゃいます

例えばプロジェクトチームの作業状況の把握。

各チームメンバーが一日のうちどれだけの時間を何の業務に使用したかを、Excelの決まったフォーマットに記録していれば、それを集計することでチーム全体の状況を容易に把握できます。以下のような流れになります。

  1. チームメンバーは決まったフォーマットのExcelで日報または週報を作り、それを特定のフォルダに格納します。
  2. 集計用Excelを起動し、VBAプログラムを実行します。
  3. VBAプログラムは1のフォルダにあるExcelファイルを順次開いて内容を読み出し、集計します。
集計したデータはExcelの機能を使ってグラフ表示し、一目で分かるようにします。
今ならTracなどを使ってプロジェクト管理をするのでしょうが、会社によってはセキュリティ的な理由で、勝手にサーバーを立ち上げることを許可しない場合もあるので、意味はあるかなと思います。
 

Excel VBAの習得は比較的簡単

VBAの元になったVisual Basicを知らなくても、C言語Javaなどのプログラミング経験のある方であれば、Excel VBAの習得は容易です。

私はVisual Basicを知らなかったのでVBAに抵抗があり、使い始めたのは数年前ですが、もっと早く活用すれば良かったと後悔しています。

無心にセルの編集を繰り返すよりも、プログラミングする方が100万倍楽しいですしね。Excel VBAを使わないのは時間的にも精神的にも、もったいないです。

 

Excel VBAは生産性が高い

Excel VBAは、Excelにデータ入出力のユーザーインタフェース部分をお任せできるので、プログラムはほぼデータ処理の部分だけを考えれば良く、非常に生産性が高いです。

私の場合、Excelの知識があまりないので、たくさんあるExcelの関数から必要なものを選び出し、それらを駆使して処理を行うより、VBAプログラムを書いた方が早いくらいです。

 

Excel VBAを使い始めるときにおススメの本

近年、Excel VBAで自動化という話が以前よりも多くなってきたように思いますが、本当に効果あります。おすすめです。

以下は私が参考にした本です。全くVBAの知識がない人向けに、一から分かりやすく説明してくれているのですごく役に立ちました。

上の例で記載した複数のExcelファイルを順次開く方法なども掲載されています。

 

今すぐ使えるかんたんmini Excelマクロ&VBA 基本&便利技[Excel 2016/2013/2010/2007対応版]

今すぐ使えるかんたんmini Excelマクロ&VBA 基本&便利技[Excel 2016/2013/2010/2007対応版]