In questo articolo, mostreremo come disabilitare il pulsante x sul modulo utente utilizzando VBA.

In questo esempio, abbiamo creato un modulo utente che può essere attivato facendo clic sul pulsante Esegui nel foglio di lavoro.

ArrowRawSheet

Questo modulo utente contiene un solo pulsante che viene utilizzato per chiudere il modulo utente. Il modulo utente può essere chiuso solo facendo clic su questo pulsante. Anche premendo il tasto di scelta rapida Alt + F4 sulla tastiera non sarà possibile chiudere questo modulo utente.

ArrowCloseForm

Spiegazione logica

Per disabilitare il pulsante x del modulo utente, abbiamo utilizzato l’evento di chiusura della query del modulo utente. Questo evento viene generato prima della chiusura del modulo utente.

In questo caso, abbiamo impostato la condizione che se la modalità di chiusura è il controllo del menu, non chiudere il form utente; visualizzare invece un messaggio informativo nella finestra di dialogo.

ArrowClickXButton

Segui sotto per il codice

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

Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook e Facebook.

Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]