VBAのプログラムはプロシージャ(Procedure)と呼ばれます。
主なプロシージャとして、SUBプロシージャとFunction プロシージャがあります。
プロシージャの追加はメニューの、[挿入]-[プロシージャ]で行えますが、Visual Basic Editorのコードウィンドウに直接記入することもできます。
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 ステートメントと End Function ステートメントの間の、一連のVBA のステートメントからなります。
Functionプロシージャは処理の結果を呼び出し元のプログラムに返します。
' さいころの目を返すFuctionプロシージャ
Function Dice()
Dice = Int(6 * Rnd(1)) + 1
End Function
Function プロシージャでは、
プロシージャ = 戻り値
という、結果を返す代入命令が必要です。