VBAの基本構文:SubとFunctionの使い方

2024/07/06

今回は、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でできることが大幅に広がります。

この記事はAIを使用して作成されています。