K-fix Learning & Playing

基礎編


はじめに(マクロとVBA)

はじめに

VBAはVisual Basic for Applicationの略称で、Microsoft社のOFFICE製品に搭載されているプログラミング言語のことです。ユーザがプログラムを自作しExcelやAccess等の中で独自の機能を追加できるようになっています。これはVBAを学習することで、OFFICE製品としてのApplicationすべてで利用できることを意味します。この講座では、VBAの基本的な知識を取り上げて、皆さんのステップアップのお助けになればと思っています。

マクロとVBA

マクロとは、通常行うExcelの操作や計算を、すべて自動的に実行してくれる機能です。この機能を使うことで、Excelのすべての操作を1つの操作にまとめることができ、セルの値を取得して計算を実行したり、セルの値によっていくつもの処理に振り分けることができます。
メリットとしては、次のものがあります。

  1. 複数の操作を1つにまとめる
    例えば、3つのワークシートに同じ表を作成したい場合、通常はコピー機能を利用して、3つのワークシートに対して繰り返さなければいけません。このような操作をマクロとして作成してしまえば、自動的に処理することができます。
  2. セルの内容によって処理を切り替える
    売上表みたいなもので、同じ商品名の売上は同じ色をセルにつける場合、マクロではある条件を設定し、その条件に適合するかどうかを判断した上で、以降の処理を振り分けて実行できます。
  3. 独自のユーザインターフェイスが持てる
    メインフォームを作成し、コマンドボタンやリストボックスなどの「コントロール」を利用することで、簡単な操作で複雑な処理を実行することができます。Excelの不慣れな方に対しても、Excelの入力操作や業務処理が簡単にできる環境を提供することが可能になります。
  4. 低コストでアプリケーションを開発できる
    業務がExcelというアプリケーションで処理できるのなら、VBAを使ったマクロ(プログラム)を作成することで、Excelと連動してオリジナルアプリケーションをユーザが作ることができます。

Excelでマクロを作成する方法は2つあります。1つは、「マクロ記録」という方法で、Excelを操作するマウスやキーボードの操作を記録し、マクロにする方法です。特別な知識がなくても、実際の操作を記録するだけなので、誰にでも簡単に処理を自動化できます。もう1つは、VBAを使ってプログラムを作成する方法です。この方法は、マクロ記録のような操作の自動化を図れるのはもちろん、計算や処理の分岐、ユーザインターフェイスの作成まで、あらゆる操作や処理を自動化することができます。

VBAを分かりやすくいうと、Excelに対し指定した操作を行うようにExcelと対話するための言葉のようなものです。つまり、Excelに対して何かをしてもらうときに使う言葉が「VBA」です。VBAは、マクロを作成するための専用の言語です。正式には、「Visual Basic for Application」といいます。Excel VBAは、その主な目的をExcelのマクロ作成に絞り、Excelを構成するすべての部品を自由に操作でき、ワークシート関数以外にも多くの関数が使えるようになっています。Excel VBAプログラミングの特徴に、「イベント処理」があります。イベントとは、ユーザがマウスやキーボードの操作を行ったりしたときに発生するものを言います。例えば、マウスのボタンをクリックすると、「Click」というイベントが発生します。このイベントを適切に使うことで、ユーザの操作に合わせて処理を実行させることができます。

今まで記述したことだけでは、なかなか理解できないでしょう。一種のプログラムを作ることになるので、ある程度の知識や言語を学ばなければなりません。大きな処理をさせるようなマクロ作成は、時間がかかるでしょうが、簡単な処理をさせるマクロを1つずつ学んでいくことで、確実に覚えていくことが早道です。

今回は、「はじめてのExcel VBA」講座とし、基本的なものを1つずつ作成し、どのような流れで作成するのか、どのような考え方で作成するのかを学んでいきます。