この記事では、VBAを使用してユーザーフォームのxボタンを無効にする方法を示します。

この例では、ワークシートの実行ボタンをクリックしてアクティブ化できるユーザーフォームを作成しました。

ArrowRawSheet

このユーザーフォームには、ユーザーフォームを閉じるために使用されるボタンが1つだけ含まれています。このボタンをクリックするだけでユーザーフォームを閉じることができます。キーボードのショートカットキーAlt + F4を押しても、このユーザーフォームを閉じることはできません。

ArrowCloseForm

ロジックの説明

ユーザーフォームのxボタンを無効にするために、ユーザーフォームのクエリ終了イベントを使用しました。このイベントは、ユーザーフォームを閉じる前に発生します。

この場合、閉じるモードがメニューコントロールの場合、ユーザーフォームを閉じないという条件を設定しました。代わりに、ダイアログボックスに情報メッセージを表示します。

ArrowClickXButton

コードについては以下に従ってください

Option Explicit

Sub running()

UserForm1.Show

End Sub

'Add below code in userform

Private Sub CommandButton1_Click()

'Close the userform

Unload Me

End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

'Using Query Close event of Userform

'Comparing the constant value of CloseMode variable

'If it is equal to inbuilt constant of control menu

'Then prevent closing of userform and

'Display information message dialog box

If CloseMode = vbFormControlMenu Then



'Changing Cancel variable value to True

'By default, it is False

Cancel = True

MsgBox "You can't close the dialog like this!"

End If

End Sub

このブログが気に入ったら、FacebookやFacebookで友達と共有してください。

皆様からのご意見をお待ちしております。私たちの仕事を改善し、あなたのために改善する方法をお知らせください。 [email protected]までご連絡ください