アクセス上位ページ
 
最近の更新内容
(1)-h.プロシージャの記述 ⇐ [PREV]
[NEXT] ⇒ (1)-j.引数の参照渡し・値渡し

Excel VBA ≫ 1.基礎編 - はじめに(1)-i.プロシージャの引数

プロシージャの引数

すべてのプロシージャには引数を設定することが可能です。 引数とはプロシージャに受け渡すデータのことで、 この引数をプロシージャ内でうまく利用することにより柔軟かつ高度な処理を行うことが可能となります。

引数を設定するにはプロシージャ名後ろのカッコ内に引数名とそのデータ型を指定します。

【構文】
Sub [プロシージャ名]([引数名] as [データ型])
   :
(処理を記述)
   :
End Sub





また、引数はカンマで区切ることで60個まで設定することが可能です。

【構文】
Sub [プロシージャ名]([引数名1] as [データ型], [引数名2] as [データ型], …)
   :
(処理を記述)
   :
End Sub

Functionプロシージャの引数の設定方法についてはSubプロシージャと全く同じです。

【構文】
Function[プロシージャ名]([引数名] as [データ型]) as [データ型]
   :
(処理を記述)
   :
End Sub

管理人から一言・・・ 引数のイメージ
プロシージャをラーメンを作る作業に例えると引数はラーメンの味やトッピングなどに例えることができます。

味やトッピングが指定できない場合、1種類のラーメンしかつくることができません。しかし、味やトッピングが指定可能であれば、さまざまなバリエーションのラーメンを作ることができるようになります。

プロシージャについても引数を指定可能にすることで処理にバリエーションをもたせることができることを覚えておきましょう。
<サンプルマクロ>
Sub sample_eb017_01()

    '引数なしプロシージャの処理結果をメッセージボックスで表示
    MsgBox "[ラーメン作成1]" & vbLf & ラーメン作成1

    '引数ありプロシージャの処理結果をメッセージボックスで表示
    MsgBox "[ラーメン作成2]" & vbLf & ラーメン作成2("塩", "")
    MsgBox "[ラーメン作成2]" & vbLf & ラーメン作成2("みそ", "味玉")

End Sub

'引数なしプロシージャ
Function ラーメン作成1() As String
    ラーメン作成1 = "しょうゆラーメン"
End Function

'引数ありプロシージャ
Function ラーメン作成2(味 As String, トッピング As String) As String
    If トッピング = "" Then
        'トッピングがない場合
        ラーメン作成2 = 味 & "ラーメン"
    Else
        'トッピングがある場合
        ラーメン作成2 = 味 & "ラーメン(" & トッピング & "付)"
    End If
End Function
⇒ サンプルマクロ集 へ

<サンプルマクロ実行結果>
  • ラーメン作成1(引数なしプロシージャ)の処理結果
  • 引数ない場合の処理結果

  • ラーメン作成2(引数ありプロシージャ)の処理結果1
  • 引数がある場合の処理結果1

  • ラーメン作成2(引数ありプロシージャ)の処理結果2
  • 引数がある場合の処理結果2

カテゴリ内ページ



Page
Top