仕事で使える!?実務での利用範囲が広いVBAの基本
プログラムの中でも、営業・事務職の方などに関わりの深いプログラム言語がVBA(VisualBasic for Application)です。
Excel・WordなどMicrosoft Office製品などでも使うことがです、学習難易度のプログラム言語の中では低くなっていて初心者でも学びやすいのではないでしょうか。
プログラマ以外の方が活用できるプログラムとしては稀有なものだと思いますので、学ぶとすぐに日常の業務で活用できるのもVBAが人気となっている大きな理由です。
今回はこの「VBA」に焦点を当て、VBAの基本についてお話していきたいと思います。
EXCEL VBAによる定型処理のオートメーション
同じ処理を何度もEXCELで、しかも手作業で行っているなら、EXCEL VBAでのプログラム処理を検討するべきです。
データ入力・編集・コピーなどの処理は類似処理の繰り返しとなっている例も数多くあり、人手によって行われているケースも多いのではないでしょうか。
EXCELでは「セル」と呼ばれるデータ入力範囲に数値や文字列など多種のデータを格納することができます。
「セルやセル内のデータをVBAでどう扱うのか?」を学んでいくことで、VBAを利用した業務効率化を行うことができるようになります。
プログラムを書く際にVBAでは「マクロ」という単位を用います。
マクロ1つが「1つの処理系」を表しているのですが、マクロを作成するためには、「作業の自動記録機能を使用する」もしくは、「プログラムを書く」必要があります。
VBAプログラムの書き方
VBAは「VB(VisualBasic)」というMicrosoft製品で主に使用されているプログラミングが言語元となっているため、記法に関してはほとんどVBと同じです。
ということはVBAを学ぶことで、VBの学習も行いやすくなるという副次的なメリットもあります。
VBE(Visual Basic Editor)
VBAを書く際にはVBEと呼ばれる専用のエディタを使用します。
VBEには、プログラムの実行機能・デバッガなどマクロ開発に有用な機能が数多く含まれていますので、これらのVBE機能の使い方を学んでいくことで、より効率的なマクロ開発を行うことができます。
他のプログラミング言語でも同じようにさまざまなエディタがありますが、VBEは単にエディタというわけではなく、IDEのように使うことができるため、初心者の方でも使いやすいのではないかと思います。
変数
VBAで変数を利用するためには、基本的に「変数の宣言」→「変数の利用」という流れで行います。
変数の宣言は、
Dim 変数名 As データ型
のように行うことができます。
例えば、整数を入れるnum変数を作りたい場合は、
Dim num As Integer
のように書きます。
データ型を指定して、変数に格納できるデータ型を制限する方法を「型安全」と呼ぶことがあります。
型安全は変数のデータ型と違う値を入力しようとすると、コンパイラがエラーを知らせてくれるため、予期しないデータが入力されることを防止することができますが、データ型を変数を宣言するたびに書いていくのは大変です。
そのため最近では「型推論」と呼ばれる、自動でデータ型を決定していく手法を採用するプログラミング言語が増えてきています。
データの安全性を求めるとプログラミングに負担がかかりますし、作業性を優先するとデータの安全性により注意を払わなければならなくなりプログラマの心理的負荷は増大してしまいますね。
セルの指定方法
VBAでセルを指定する場合、「F5」セルを指定する場合は、
Range("F5")
と記述します。
他にも、行と列を番号で指定することもでき、
Cells(列番号,行番号)
と書きますが、列はAが1、Bが2、Cが3という形でAから順に番号が割り振られています。
もし「F5」を指定したい場合は、
Cells(6,5)
と書きます。
if文
VBAでの制御構文についてみていきましょう。
条件分岐処理をif文で行う場合、VBAでは次のように書きます。
If 条件1 Then 条件1の条件に合致した時の処理 ElseIf 条件2 Then 条件2の条件に合致した時の処理 Else 条件1・条件2に合致しなかった時の処理 End If
条件分岐はプログラムの中で比較的使用する機会が多いため、使い方を少しずつ覚えていきましょう。
for文
繰り返し処理の行える「for文」を書く場合は、次のようになります。
For ループ変数の初期化 To 繰り返し条件 繰り返し処理 Next ループ変数
例えば、処理を10回ほど繰り返す場合は下記のようになります。
For i =1 To 10 繰り返し処理 Next i
繰り返し処理には他の構文もありますので見ていきましょう。
Do While文
Do While文は、ある条件があり、その条件を満たす間だけ繰り返し処理を行うことができます。
Do While 1 <= 10 実行したい繰り返し処理 i = i + 1 Loop
Do While文を使う場合は、ループ変数の値を繰り返し処理の中で変化させていかないと、無限ループとなってしまうこともありますので気を付けましょう。
Select Case
他のプログラム言語で、「Switch文」にあたるのが「Select Case」文です。
Select Case文のコードは次のようになります。
Select Case 変数 Case 値A 変数の値と値Aが等しい場合の実行処理 Case 値B 変数の値と値Bが等しい場合の実行処理 Case Else 上記条件を満たさなかった場合の実行処理 End Select
VBAの活用
今回はVBAの基礎についてお話をしてきましたが、プログラミングの入り口がVBAだという人も増えてきていて、プログラミング初心者の方が取り組むには最適な言語ではないかと思います。
プログラミングを学ぶ際の煩雑な開発環境構築などを省くことができるため、学習障壁がかなり低いのも大きなポイントです。
まだプログラミングをやってみたことがないかたは、ぜひVBAの学習から始めることをお勧めします♪