プロシージャ

VBAのプログラムはプロシージャ(Procedure)と呼ばれます。

主なプロシージャとして、SUBプロシージャとFunction プロシージャがあります。

プロシージャの追加はメニューの、[挿入]-[プロシージャ]で行えますが、Visual Basic Editorのコードウィンドウに直接記入することもできます。

Visual Basic Editorの画面構成

SUBプロシージャ

Sub プロシージャは、Sub ステートメントと End Sub ステートメントの間の、一連のVBA のステートメントからなります。

SUBプロシージャは、処理の結果を呼び出し元のプログラムに返さず、目的の動作だけを行います。 (参照形式で渡された変数やグローバル変数に対しては処理の結果が反映されます。)

' 多角形を描くプログラム
Sub DrawPolygon(n)
  Dim i, n, side
  InitializeTurtleGraphics
  side = 100    ' 辺の長さ
  For i = 1 To n
    TGMoveL side
    TGTurn 360 / n
  Next i
End Sub
Sub main()
  DrawPolygon 6
End Sub

として実行すると、正六角形を描きます。

Functionプロシージャ

Function プロシージャは、Function ステートメントと End Function ステートメントの間の、一連のVBA のステートメントからなります。

Functionプロシージャは処理の結果を呼び出し元のプログラムに返します。

' さいころの目を返すFuctionプロシージャ
Function Dice()
  Dice = Int(6 * Rnd(1)) + 1
End Function

Function プロシージャでは、

プロシージャ = 戻り値

という、結果を返す代入命令が必要です。

メニューページへ