配列が引数のプロシージャを作成する
配列が引数のプロシージャを作成する
【構文】
{ Sub | Function } name ( arrayname() As arrayname_type )
【項目の説明】
- name ・・・ 定義するプロシージャ(Sub プロシージャ・Function プロシージャなど)の名前
- arrayname() ・・・ プロシージャを呼び出したときに引き渡す配列の引数を指定します。
- arrayname_type ・・・ 配列の引数 arrayname()のデータ型を指定します。省略すると引数 arrayname() は、バリアント型(Variant)の配列となります。
複数の引数を指定する場合、カンマ(,)で区切ります。(配列でない引数も指定することができます。)
引数が配列の場合は、その引数に、ByVal キーワードを使用することはできません。配列の引数は、常に「参照渡し」になります。
配列が引数のプロシージャを作成する使用例
サンプルVBAソース
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | Sub Sample()     Dim buf(2)     buf(0) = 10.5: buf(1) = "あいうえお": buf(2) = #1/1/2015#     MsgBox Sample_ArguArray01(buf)     Dim str As String, myArray(1 To 3) As Integer     myArray(1) = 10: myArray(2) = 25: myArray(3) = -100     MsgBox Sample_ArguArray02(myArray, str) & Chr(13) & str End Sub '-------------------------------------------------------------------- 'バリアント型の配列を引数にする '-------------------------------------------------------------------- Function Sample_ArguArray01(val())     Dim i As Long, str As String     For i = LBound(val) To UBound(val)         str = str & Chr(13) & val(i)     Next i     Sample_ArguArray01 = str End Function '-------------------------------------------------------------------- '数値型の配列と文字列型を引数 '-------------------------------------------------------------------- Function Sample_ArguArray02(val() As Integer, msg As String)     Dim v, total As Long     For Each v In val         total = total + v     Next v     If total >= 0 Then         msg = "合計は0以上"     Else         msg = "合計は0未満"     End If     Sample_ArguArray02 = total End Function | 
実行結果
関連記事
-  
              
- 
      引数を可変にする( ParamArray )ParamArray キーワード ParamArray キーワードを使用すると任 … 
-  
              
- 
      プロシージャ内のサブルーチンへ移動(GoSub…Return ステートメント)GoSub…Return ステートメント GoSub ステートメント … 
-  
              
- 
      繰り返し処理(Do…Loop ステートメント)Do…Loop ステートメントの使い方 【構文 1】 Do [ Wh … 
-  
              
- 
      With ステートメントを使うWith ステートメントを使う With ステートメントを使うことで、1度指定し … 
-  
              
- 
      プロシージャを作成する( Sub, Function )プロシージャを作成する プロシージャとは、実行時に 1 つの単位として処理される … 
-  
              
- 
      ユーザー定義型変数を使う(Type ステートメント)Type ステートメントを使う Type ステートメントを使うと1つまたは複数の … 
-  
              
- 
      繰り返し処理(For…Next ステートメント)For…Next ステートメントの使い方 【構文】 For coun … 
-  
              
- 
      変数やプロシージャのスコープ(適用範囲)変数やプロシージャのスコープ(適用範囲) 【構文:変数の宣言】 { Dim | … 
-  
              
- 
      プロシージャ内のサブルーチンへ移動(GoTo ステートメント)GoTo ステートメント GoTo ステートメントは、指定したラベルのサブルーチ … 
-  
              
- 
      条件分岐 If文(If…Then…Else ステートメント)If…Then…Else ステートメントの使い方 【構文 … 
- PREV
- 引数を可変にする( ParamArray )
- NEXT
- With ステートメントを使う
 
        

