Recibir un mensaje si Option estan False

Nuevamente molestando

Quiero tu opinión o mejora o colocación adecuada, según tu criterio

En la plantilla que haz estado viendo, hice esto

Private Sub txtFiltro_Change()
    If OptionButton1 = False And OptionButton2 = False Then 'SI LOS 2 ESTAN FALSE, MANDA EL MENSAJE
        MsgBox "selecciona una página"
        Exit Sub 'SALE DEL EVENTO
    ElseIf OptionButton1 = True And OptionButton2 = True Then ' SI UNO DE LOS 2 ESTA TRUE, 
        Call cbtFiltro_Click 'PROCEDE A EJECUTAR EL EVENTO
    End If
End Sub

Puede que dentro de algún evento tu le encuentres mejor hubicación, ¿quien sabe?

Con or no funciona bien porque repite el mensaje siempre que vacíes el textbox y vuelvas a escribirle aunque este algún option marcado.

2 Respuestas

Respuesta
1
Private Sub txtFiltro_Change()
        Call cbtFiltro_Click 'PROCEDE A EJECUTAR EL EVENTO
End Sub

Private Sub UserForm_Initialize()
OptionButton1.Value = True
OptionButton2.Value = true
End Sub

Si te sirvió valora la respuesta para finalizar saludos!!!

Respuesta
1

Si lo pones en el evento txtfiltrochange, y no seleccionas una página, el mensaje de error te va a aparecer por cada letra que escribas.

Además la segunda condición, nunca se cumple, porque no puedes poner los 2 option en true.

Debería ir en el evento del botón:

Private Sub cbtFiltro_Click() 'LISTO
'Por.Dante Amor  http://www.todoexpertos.com/preguntas/6tq6n98o8eefyo4j/arreglar-la-macro-para-filtrar-con-el-textbox?nid=gcqp5uuggnw63hkphks99g6ma4qp9tm5gso6jgulabr3&utm_source=todoexpertos&utm_medium=EmailNotification&utm_campaign=AskerQuestion_ExpertMessageAdded
    If OptionButton1 Then
        Call FiltrarLista2("B", "K", "C", "D")
    ElseIf OptionButton2 Then
        Call FiltrarLista2("M", "V", "N", "O")
    Else
        MsgBox "Selecciona una página"
    End If
'    MsgBox "No se encuentra.", vbExclamation, "Inexistente"
End Sub

sal u dos 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas