En la macro del módulo tienes que declarar como public una variable, en este ejemplo declare public la variable respuesta. Recuerda que esta declaración de variables debe ir hasta arriba de todo tu código
Macro en el módulo
Public respuesta
Sub macro()
'Por.DAM
'
'tu códgio
UserForm1.Show
'tu código
If respuesta = "SI" Then
MsgBox "la respuesta es si"
Else
MsgBox "la respuesta es no"
End If
'
End Sub
Macro en el userform
Private Sub CommandButton1_Click()
'Por.DAM
respuesta = "SI"
Unload Me
End Sub
Private Sub CommandButton2_Click()
'Por.DAM
respuesta = "NO"
Unload Me
End Sub
Private Sub UserForm_Activate()
'Por.DAM
Label1.Caption = "Presiona SI para continuar o presiona NO para cancelar"
Me.Caption = "Título del mensaje"
CommandButton1.Caption = "SI"
CommandButton2.Caption = "NO"
'
'Posición del userform
Me.Top = 0
Me.Left = 0
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
'Por.DAM
If CloseMode = 0 Then Cancel = True
End Sub
Así se vería
Este código en el userform es para que no cierren el userform con la 'X' y tengan que seleccionar SI o NO
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
'Por.DAM
If CloseMode = 0 Then Cancel = True
End Sub
Si quieres que se salgan con la 'X", entonces borra las líneas anteriores del userform y cambia la macro del módulo por esta
Sub macro()
'Por.DAM
'
'tu códgio
UserForm1.Show
'tu código
If respuesta = "SI" Then
MsgBox "la respuesta es si"
ElseIf respuesta = "NO" Then
MsgBox "la respuesta es no"
Else
MsgBox "cerró el userform y no seleccionó una respuesta"
End If
'
respuesta = ""
End Sub
Comentario borrado por el autor - xc xc