フォームの変数に標準モジュールからアクセス
フォームにある変数に標準モジュールからアクセスしたいときがあります。典型的な例としてはOK・キャンセルボタンのどちらを押したかを判定したいとき、などです。このような場合、フォームモジュール中に Public変数を作ります。
Public result As Integer
これはプロシージャの外、一番上に書きます。この変数はPublic変数なので外部からアクセス可能です。
この変数にOKを押したときは1を入れます。
Private Sub btnOK_Click() result = 1 Me.Hide End Sub
標準モジュールの側では、Showで表示した後、その変数が1なのかを確かめます。1ならOKを押した、ということになります。
MyForm1.Show If MyForm1.result = 1 Then MsgBox "OKを押した" Else MsgBox "キャンセルを押した" End If
※単にOK,キャンセルの用途なら Integerではなく、Boolean型にして、TrueかFalseかで判断した方が良いでしょう。