- Home ›
- Excel VBA入門 ›
- プロシージャ ›
- HERE
複数の引数を渡す
広告
他のプロシージャを呼び出す場合に引数として値を渡す事ができることは前のページで確認しましたが、引数は1つだけではなく複数の引数を渡す事ができます。
複数の値を引数としてプロシージャに渡す場合には、引数の箇所にカンマ(,)で区切って並べて記述します。
Call プロシージャ名(値1, 値2, ...)
※「Call」を使わない場合は次のようになります。
プロシージャ名 値1, 値2, ...
値を受け取る側でも同じように渡されてくるはずの引数の数だけ変数を宣言しておきます。変数と変数の間はカンマ(,)で区切ります。
Sub プロシージャ名(ByRef 変数名1 As データ型1, ByRef 変数名2 As データ型2, ...)
引数は全て同じデータ型である必要はありませんので、色々なデータ型の値を同時に別のプロシージャに渡すことが可能です。
サンプルプログラム
では簡単なサンプルで試してみます。
Sub テスト() Dim str As String str = "こんにちは" Call setCellValue(str, 2) End Sub Sub setCellValue(ByVal str As String, ByVal count As Integer) Dim dispStr As String Dim i As Integer For i = 1 To count dispStr = dispStr & str Next i Range("A1").Value = dispStr End Sub
上記のマクロを実行すると次のようになります。
今回のサンプルでは最初に引数に表示したい文字列を、2番目の引数に繰り返す回数を指定しています。
( Written by Tatsuo Ikura )