- Home ›
- Excel VBA入門 ›
- プロシージャ ›
- HERE
Callによるプロシージャ呼び出し
広告
他のプロシージャを呼び出す場合は、単に呼び出したいプロシージャ名を記述するだけで呼び出す事が出来ます。
Sub テスト()
Dim sum As Integer
Dim i As Integer
sum = 0
For i = 1 To 10
sum = sum + i
Next i
Range("A1").Value = sum
otherCellSet
End Sub
Sub otherCellSet()
Range("A2").Value = Range("A1").Value * 2
Range("A3").Value = Range("A2").Value * 2
End Sub
この場合、プロシージャ名だけが書かれているのでプロシージャを呼び出しているのかどうか一見すると分かりにくいです。(プロシージャ名を、プロシージャ名であるとはっきり分かるような名前の付け方をしておけばいいかもしれません)。
そこでプロシージャを呼び出す別の方法を見ていきます。具体的には「Call」ステートメントを使って別のプロシージャを呼び出します。
Sub テスト()
Dim sum As Integer
Dim i As Integer
sum = 0
For i = 1 To 10
sum = sum + i
Next i
Range("A1").Value = sum
Call otherCellSet
End Sub
Sub otherCellSet()
Range("A2").Value = Range("A1").Value * 2
Range("A3").Value = Range("A2").Value * 2
End Sub
「Call」ステートメントの後にプロシージャ名を記述することでプロシージャを呼び出すことができます。わざわざ「Call」を付けるのは無駄なようですけど、別のプロシージャを呼び出していることがはっきりと分かりますので、後でメンテナンスをする場合にプログラムが見やすくなります。出来るだけ分かりやすく記述することが望ましいので、今後は「Call」を使って呼び出すことにします。
( Written by Tatsuo Ikura )