Subプロシージャ,Functionプロシージャの使用例

Subプロシージャ,Functionプロシージャを定義するときは、引数を受け取らないものでも、プロシージャの最後に必ず括弧()をつけます。


Sub Keisan()
	・・・
	・・・
End Sub

Subプロシージャ

Subプロシージャを呼び出すときは、通常括弧はつけません。引数は、下の例では100,0.08となります。呼び出されたプロシージャKeisanの変数Ataiに100が、Zeirituに0.08が渡されます。
例1


Sub Test1()
	Keisan 100, 0.08	'SUBプロシージャKeisanの呼び出し
End Sub

Sub Keisan(Atai, Zeiritu)
	Range("A1").Value = Atai * 100
	Range("B1").Value = Range("A1").Value * Zeiritu
End Sub

結果
結果の図


例2
プロシージャを呼び出すときに、Callを使用することもできます。この場合は、引数を括弧で囲む必要があります。


Sub Test2()
	Hantei 80, 60
	Call Hantei(50, 60)
End Sub

Sub Hantei(tensu As Integer, hanteichi As Integer)
	If tensu >= 60 Then
		MsgBox "おめでとう。合格です!"
	Else
		MsgBox "残念でした。"
	End If
End Sub

結果
結果の図


Functionプロシージャ

Functionプロシージャでは、戻り値を利用する場合はプロシージャ名を変数に代入して、引数を括弧で囲みます。戻り値を利用しない場合は括弧で囲む必要はありません。ちなみに、上のSub KeisanをFunctionに変えても動作します。


戻り値を利用する例。下の例では、Keisanに格納された値が戻り値となります。


Sub Test2()
	Total = Keisan(100, 0.08)	’プロシージャKeisanをTotalに代入、
	Range("C1").Value = Total	’引数は括弧で囲む
End Sub

Function Keisan(Atai, Zeiritu)
	Range("A1").Value = Atai * 100
	Range("B1").Value = Range("A1").Value * Zeiritu
	Keisan = Atai * 100 + Atai * 100 * Zeiritu
End Function

結果
結果の図


引数のデータ型の指定

引数のデータ型は指定しない限りバリアント型となります。プロシージャの定義部で指定すると(As type)データ型を指定できます。上記のサンプル例でしたら、


Function Keisan(Atai, Zeiritu) を
Function Keisan(Atai As Long, Zeiritu As Single)

のように指定します。


Excel VBAのチップス一覧へ戻る

ツイート
このエントリーをはてなブックマークに追加
inserted by FC2 system