第5講 サブプロシージャを理解しよう

第9話 引数
プロシージャ内で宣言=定義した変数はすべてローカル変数です。
ということは、プロシージャfで宣言した変数は、
他のプロシージャで使えないのでしょうか。
そうではありません。
使う方法があるのです。
それが引数(ひきすう)です。
第8話のコード添付ファイルを開いて
コードを次のように変更して下さい。
Private Sub CommandButton1_Click()

  Dim a As Integer 'aは整数を入れる整数
  a = 10      'aは整数を入れる整数
  Cells(4, 1) = a
  f (a)
    
End Sub
Sub f(a As Integer)
  Cells(5, 1) = a
End Sub
Private Sub CommandButton2_Click()
  
  Rows("4:2000").Select
  Selection.ClearContents
  Cells(1, 1).Select
  
End Sub

それで実行ボタンを押すと、
f
とaが使えていることが分かります。
f (a)のaをプロシージャの引数と呼ぶのです。
引数は複数付けることが出来ます。
Private Sub CommandButton1_Click()

  Dim a As Integer, b As Byte 'aは整数を入れる整数 bはByte型の変数
  a = 10      'aは整数を入れる整数
  b = 5
  Cells(4, 1) = a
  Cells(4, 2) = b
  
Call f(a, b)
    
End Sub
Sub f(a As Integer, b As Byte)
  Cells(5, 1) = a
  Cells(5, b) = b
End Sub
Private Sub CommandButton2_Click()
  
  Rows("4:2000").Select
  Selection.ClearContents
  Cells(1, 1).Select
  
End Sub
実行画面
poi
ただし、複数の引数を付ける場合には、
Call が必要になります。
これは関数fをコールする=呼び出すという意味です。
関数fをコールするは、関数fに仕事を命じることです。
引数が1個のときは、Callなくても呼び出しであるとVBAの方で判断してくれます。
ですから、引数が1個のときはCallを省略できるのです。
ただ、
  f a, b
とすると、引数が複数でもCallを省略できます。

引数については、もうひとつ注意事項があります。





第8話へ 第10話へ

004

eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
vc++講義へ
excel 2013 2010 2007 vba入門へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
eclipse java 入門へ
excel 2016 vba 入門へ第2部へ
小学生からエンジニアまでのRuby入門へ
小学生からエンジニアまでのC言語入門 基礎から応用まで
本サイトトップへ