VBAは、Excelで作業を自動化できるプログラミング言語です。ここでは、VBAの基本を、できるだけシンプルに、わかりやすく説明します。初心者の方でもスムーズに理解できるよう、丁寧に進めていきます。

変数の使い方

まず、変数について説明します。変数とは、数字や文字を一時的に保存しておく箱のようなものです。VBAでは、この箱を使う前に「この箱を使います」と宣言します。

Dim num As Integer
Dim name As String

上のコードでは、numという箱を用意し、そこに整数を入れる準備をしています。また、nameという箱も用意して、そこには文字(たとえば「山田」など)を入れる準備をしています。

計算の基本

VBAでは、足し算や引き算、掛け算や割り算を簡単にできます。次のコードでは、2つの数字を足して、その結果を画面に表示します。

Dim a As Integer
Dim b As Integer
Dim result As Integer

a = 5
b = 10
result = a + b

MsgBox result

このコードを実行すると、「15」と表示されます。aに5を、bに10を入れて、それを足し合わせた結果がresultという変数に保存され、メッセージボックスに表示されるという流れです。

条件分岐の使い方

プログラムでは「もし〇〇だったらこうする、それ以外だったらこうする」という流れを作ることができます。これを条件分岐といいます。

If文の例

たとえば、テストの点数によって、異なるメッセージを表示する場合は、次のように書きます。

Dim score As Integer
score = 85

If score >= 90 Then
    MsgBox "すばらしい!"
ElseIf score >= 70 Then
    MsgBox "がんばった!"
Else
    MsgBox "もっとがんばろう!"
End If

この例では、scoreが85なので、「がんばった!」と表示されます。条件によって表示されるメッセージが変わる仕組みです。

繰り返し処理

同じ処理を何回も繰り返したいときには、ループという機能を使います。たとえば、「1から10までの数字を順番に表示する」といった場合に便利です。

Forループの例

次のコードでは、1から10までの数字が1つずつメッセージボックスに表示されます。

Dim i As Integer

For i = 1 To 10
    MsgBox i
Next i

このループでは、iが1から10まで順番に変わり、その都度メッセージボックスに表示されます。

エラー処理

プログラムを実行していると、思わぬエラーが起こることがあります。たとえば、「0で割る」といった計算はエラーになります。そんなときにエラーに対処する方法を決めておくことが大切です。

エラーハンドリングの例

以下のコードでは、エラーが起きたときに「エラーが発生しました」とメッセージを表示するようにしています。

Sub Example()
    On Error GoTo ErrorHandler
    Dim x As Integer
    x = 1 / 0 ' ここでエラーが発生します
    Exit Sub

ErrorHandler:
    MsgBox "エラーが発生しました: " & Err.Description
End Sub

このコードは、エラーが発生したときにそれをキャッチして、エラーメッセージを表示するようになっています。

まとめ

VBAの基本を少しずつ理解して、簡単なプログラムから始めてみてください。最初はシンプルなコードでも、練習していけば徐々に複雑な作業も自動化できるようになります。