Excel VBA | 「複数の引数」を渡す

VBA
スポンサーリンク

要点まとめ

Excel VBAでは、プロシージャ(Sub)に複数の値を渡すことができる。渡す値は「引数」と呼ばれ、カンマで区切って並べる。受け取る側のプロシージャでは、渡される引数の数だけ変数を宣言しておく必要がある。


基本の考え方

  • 引数は複数渡せる
    Call プロシージャ名(値1, 値2, ...) のようにカンマで区切る。
    Call を省略して プロシージャ名 値1, 値2, ... と書くことも可能。
  • 受け取る側の書き方
Sub プロシージャ名(ByVal 変数1 As データ型1, ByVal 変数2 As データ型2, ...)
VB

引数ごとに変数を宣言する
データ型は同じでなくてもよい(文字列と数値を混ぜてもOK)


サンプルコード

Sub Test()
    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
VB

このコードの動き

  • Test プロシージャから setCellValue を呼び出すときに、
    • 1つ目の引数:文字列 "こんにちは"
    • 2つ目の引数:数値 2
      を渡している。
  • setCellValue 側では、文字列を2回繰り返して結合し、セルA1に表示。
  • 結果 → セルA1に「こんにちはこんにちは」と表示される。

初心者へのポイント

  • 複数の情報をまとめて渡せるので、処理を柔軟にできる。
  • 引数の型は自由に組み合わせられる。
  • カンマで区切るだけなので、難しく考えなくてよい。
  • 実際に「文字列+回数」などを渡してみると理解しやすい。

つまり、「プロシージャに複数の値を渡す → 受け取って処理する」という流れを覚えることが、VBAの基礎ステップになります。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました