全12回 Excel VBAコースの第8回の内容です。
#プロシージャとは
プログラミングで、複数の処理を1つにまとめたもののことです。
例えば、VBAで言うと、Sub 〇〇 ~ End Sub までが1つのプロシージャです。
VBAで初めに理解すると良いのは、「Subプロシージャ」と「Functionプロシージャ」です。
#プロシージャの呼び出し方
・Callステートメント
・Callは省略可能
・Functionプロシージャは、関数として呼び出し可能
Sub MainSub()
Call プロシージャ名
End Sub
Sub プロシージャ名()
Cells(1, 3).Value = Cells(1, 1).Value + Cells(1, 2).Value
End Sub
####※なぜプロシージャを分けるのか?
・処理の共通化(同じ処理を何回も書かなくて良くなる)
・可読性・可視性の向上(読みやすい、見やすい)
#引数と戻り値
・引数=プロシージャに値を引き渡すもの
・戻り値=プロシージャから値を戻すもの(Functionプロシージャのみ可能)
Sub MainSub()
Dim X As Integer
Dim Y As Integer
X = Cells(1, 1).Value
Y = Cells(1, 2).Value
Call プロシージャ名(X , Y)
End Sub
Sub プロシージャ名(a As Integer, b As Integer)
Cells(1, 3).Value = a + b
End Sub
Sub MainSub()
Dim X As Integer
Dim Y As Integer
X = Cells(1, 1).Value
Y = Cells(1, 2).Value
Cells(1, 3).Value = プロシージャ名(X , Y)
End Sub
Function プロシージャ名(a As Integer, b As Integer) As Integer
プロシージャ名 = a + b
End Function
#SubプロシージャとFunctionプロシージャの違い
・Subプロシージャ・・・マクロとして登録可能(マクロボタン等)
・Functionプロシージャ・・・戻り値を返せる(関数として利用可能)
#変数の適用範囲
宣言の仕方によって、変数の適用範囲が変わります。
・Dimでプロシージャ内:宣言したプロシージャのみ
・DimもしくはPrivateでプロシージャ外:モジュール内の全てのプロシージャ
・Publicでプロシージャ外:プロジェクト全体
※適用範囲内では、重複する変数名は使用できませんが、適用範囲外では使用可能