• ベストアンサー

ExcelVBA ユーザーフォーム

エクセルのユーザーフォームで、フォームを閉じることに制限をかけることは可能ですか? AccessフォームやVBにある'CloseButton'というプロパティが無いようですが。。

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 ユーザーフォームのQueryCloseイベントで出来ると思います。 このイベントの引数のCancelにTrueを代入すればフォームを閉じることをキャンセル出来ます。 また、もう1つの引数CloseModeはどういう手段でフォームを閉じようとしているかのフラグですので、例えばフォームのコントロールボックスの[閉じる]ボタン(右上の[×]ボタン)では閉じないようにするには、 Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)   If (CloseMode = vbFormControlMenu) Then     Cancel = True   End If End Sub となります。 これを、あるセルの値を参照して判断するなど、応用すればいいと思います。 では。

noname#2826
質問者

お礼

助かりました。ありがとうございます。 何かありましたら、またお願いします。

関連するQ&A