Excel VBAExcel VBA開発 虎の巻

フォームの変数に標準モジュールからアクセス

カテゴリ:フォーム

フォームにある変数に標準モジュールからアクセスしたいときがあります。典型的な例としては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かで判断した方が良いでしょう。

カテゴリ:フォームの記事


Excel VBA基本レッスン Amazon Kindle版発売中!