- Home ›
- Excel VBA入門 ›
- プロシージャ
Callによるプロシージャ呼び出し
Excel VBA で Call を使ってプロシージャを呼び出す方法とメリットについて解説します。
(Last modified: )
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」を使って呼び出すことにします。
-- --
Excel VBA で Call を使ってプロシージャを呼び出す方法とメリットについて解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。