2015-03-10
ExcelVBA覚書 Formからの情報連携
フォーム上で何のボタンを押されたのかを呼出元に返したいときとか、Public変数を利用していたのだが、面白いやり方というのをインターネットで見つけた。
FormのTagプロパティを使うのだが、「なるほど、これは便利!」と思えたので、メモしておく。
'呼出元プロシージャ(または関数)の記載例
Load HogeForm
HogeForm.Show
If HogeForm.Tag = "1" Then
'(終了ボタン押下時の処理を記載)
Else
'(中止ボタン押下時の処理を記載)
End If
Unload HogeForm
'呼出先(HogeForm)の記載例
'終了ボタン押下
Private Sub ExitButton_Click()
HogeForm.Tag = "1"
HogeForm.Hide
End Sub
'中止ボタン押下
Private Sub CancelButton_Click()
HogeForm.Tag = "0"
HogeForm.Hide
End Sub
使うときは、念のためフォームのInitializeプロシージャでTagプロパティを空欄にしておくといいと思った。