|
▼TO さん:
こんにちは。
>モジュールで同じ処理複数使用する場合
返り値が必要な場合は Function プロシジャ、
必要ない場合は Sub プロシジャ を使って処理する事になります。
変数については参照渡しで引き渡してあげるか
広域的に宣言するかのどちらかになりそうですね。
また、呼び出し元についても
A) 必ず 1つのモジュール(やフォーム)でのみ使われるのか
B) 複数のモジュール(やフォーム)から呼び出す事があるのか
によって宣言が変わりますね。
汎用性がある様に複数のモジュールから呼ばれる可能性があるとすると
標準モジュールに
Public Sub 変数に1を足す(AA As Long, BB As Long, CC As Long)
AA = AA + 1
BB = BB + 1
CC = CC + 1
End Sub
フォーム側に
Private Sub コマンド0_Click()
Dim A As Long
Dim B As Long
Dim C As Long
A = 1
B = 2
C = 3
Call 変数に1を足す(A, B, C)
MsgBox "A:" & A & vbCrLf _
& "B:" & B & vbCrLf _
& "C:" & C & vbCrLf
End Sub
とすると、1 を足された数値が返ってくるかと思われます。
変数自体を Public宣言する方法もありますが、
MSサポートオンラインより
[VBA] Public 宣言された変数の有効期間
h tp://support.microsoft.com/kb/408871/ja
(こちらの掲示板は直リンクが禁止ですので、補完してください。)
あまり推奨された方法ではないかもしれません。
|
|