今回は、VBA(Visual Basic for Applications)の基本構文であるSubとFunctionの使い方について説明します。
Subとは?
Sub(サブ)とは、VBAで特定のタスクを実行するためのコードの集まりです。例えば、セルに値を入力したり、メッセージボックスを表示したりする場合に使います。Subは何も値を返さない手続きです。
Subの書き方
以下は、簡単なSubの例です。
Sub SayHello()
MsgBox "こんにちは、VBAの世界へようこそ!"
End Sub
このSubは、メッセージボックスに「こんにちは、VBAの世界へようこそ!」と表示するだけの簡単なものです。Subの始まりはSub
キーワード、終わりはEnd Sub
で囲まれます。
Functionとは?
Function(ファンクション)も、特定のタスクを実行するためのコードの集まりですが、Subと違って何かの値を返すことができます。例えば、二つの数を足し合わせる計算をして、その結果を返す場合に使います。
Functionの書き方
以下は、簡単なFunctionの例です。
Function AddNumbers(a As Integer, b As Integer) As Integer
AddNumbers = a + b
End Function
このFunctionは、二つの整数を受け取り、その合計を返します。Functionの始まりはFunction
キーワード、終わりはEnd Function
で囲まれます。返す値は、Function名に代入します。
SubとFunctionの違い
タスクの実行
Subは、特定のタスクを実行しますが、何も値を返しません。一方、Functionは特定のタスクを実行し、その結果を値として返します。
使い分け
基本的には、単に何かを実行したい場合はSubを使い、計算や処理の結果を得たい場合はFunctionを使います。
例題:SubとFunctionの使い方
以下に、SubとFunctionを組み合わせた例を示します。
Sub ShowSum()
Dim result As Integer
result = AddNumbers(5, 7)
MsgBox "5 + 7 = " & result
End Sub
Function AddNumbers(a As Integer, b As Integer) As Integer
AddNumbers = a + b
End Function
この例では、ShowSum
というSubがAddNumbers
というFunctionを呼び出して、二つの数を足し合わせ、その結果をメッセージボックスに表示します。
まとめ
SubとFunctionは、VBAの基本構文であり、それぞれ異なる役割を持っています。Subはタスクを実行し、Functionは値を返します。この二つを使いこなすことで、VBAでできることが大幅に広がります。