pulsante di opzione



  • pulsante di opzione
    di Nick96 (utente non iscritto) data: 18/04/2017 13:53:14

    Ciao a tutti sto creando una userform in cui compaiono 4 pulsanti di opzione, e vorrei che se neanche uno dei pulsanti acquisisce il valore true mi compaia una msgbox...non dovrebbe essere così difficile lo so, ma non mi viene in mente il modo per risolvere il mio problema. Grazie in anticipo!



  • di alfrimpa data: 18/04/2017 16:15:53

    Ciao Nick

    Sicuramente è un modo un po' "casareccio" ma sembra funzionare.

    Costruisciti la userform con gli Optionbutton ed inserisci un textbox di cui imposti la proprietà Visible = False ed un commandbutton

    In ogni Optionbutton inserisci il primo codice che vedi sotto.

    Al commandbutton associ il secondo codice.

    Alfredo

     
    Private Sub OptionButton1_Click()
    Me.TextBox1.Value = 1
    End Sub
    
    Per gli altri optionbutton dovrai variare il numero.
    
    Private Sub CommandButton1_Click()
    If Me.TextBox1.Value = 1 Then
        MsgBox "ok"
        Else
        MsgBox "spuntare"
    End If
    End Sub
    






  • di ciba (utente non iscritto) data: 18/04/2017 17:31:13

    Ciao Nick, la soluzione di alfrimpa dovrebbe funzionare.
    Se vuoi evitare di mettere dei textbox nascosti potresti semplicemente mettere i pulsanti di opzione ed un CommandButton a cui assegnare il seguente codice:
     
    Private Sub CommandButton1_Click()
    Dim i, cont As Integer
    ' inizializzo la variabile "cont"
    cont = 0
    
    ' ATTENZIONE: il seguente codice funziona se i pulsanti di opzione
    ' si chiamano OptionButton1, OptionButton2 ecc. In caso contrario basta adattare il codice.
    
    For i = 1 To 4
        If Me.Controls("OptionButton" & i).Value = True Then
            cont = cont + 1
        End If
    Next i
    If cont = 0 Then
        MsgBox "Qui scrivi quello che vuoi. Ciao da Ciba"
    End If
    End Sub



  • di alfrimpa data: 18/04/2017 17:50:39

    Ciao ciba

    Ottima l'idea del contatore (alla quale non avevo pensato) ma ritengo che entrambi, pur adottando soluzioni diverse (la mia non "elegante") abbiamo ragionato allo stesso modo.

    Un saluto.

    Alfredo





  • di Nick96 (utente non iscritto) data: 19/04/2017 08:58:40

    Entrambe le soluzioni si adattano al mio caso! Grazie mille dell'aiuto!