problema su Optionbutton



  • Un aiuto ad un neofita...userf
    di Ignazio pilone (utente non iscritto) data: 28/12/2009

    Buongiorno a tutti.
    espongo il mio problema.
    ho un foglio all'interno di una cartella di excel che l'utente deve compilare.
    e' tassativo per la compilazione che l'utente scelga una delle tre modalità in una userform e che non possa uscire dal foglio se non esprime una scelta.
    in altre parole c'è un tasto di uscita ma lo vorrei abilitato solo dopo la scelta di uno dei tre pulsanti.
    allego il codice, anche se un pò pasticciato, che dovrebbe rendre l'idea. la cella (34,5) è la cella dove i tre pulsanti valorizzano la scelta.
    grazie infinite a chi potrà aiutarmi
     
    Private Sub CommandButton1_Click()
    
    If Cells(34, 5) = "Nessuna Segnalazione" Then MsgBox "Hai impostato Nessuna Segnalazione"
    
    else Cells(34, 5) = "Segnalazione RLS" Then MsgBox "Hai impostato Segnalazione RLS"
    
    else Cells(34, 5) = "Prescrizione ASL" Then MsgBox "Hai impostato Prescrizione ASL"
    End If
    Else
    
    MsgBox "EFFETTUA UNA SCELTA"
    End If
    End If
    End If
    
    Richiesta_Priorità.Hide
    Unload Richiesta_Priorità
    End Sub
    
    Private Sub OptionButton1_Click()
    Cells(34, 5).Value = "Prescrizione ASL"
    End Sub
    Private Sub OptionButton2_Click()
    Cells(34, 5).Value = "Segnalazione RLS"
    End Sub
    Private Sub OptionButton3_Click()
    Cells(34, 5).Value = "Nessuna Segnalazione"
    End Sub
    
    Private Sub UserForm_Click()
    
    End Sub



  • di Maxxim (utente non iscritto) data: 28/12/2009

    Ciao
    non sono pratico neanche io però provo a darti un'idea.
    crea un form, metti una textbox1 (che aggangi ad una cella del tuo foglio dalla proprietà mettiamo a1),
    metti 3 etichette vicino alla tex, per descrizione1 metti 1
    per 2 metti 2 per la 3 metti il numero che vuoi.
    la tex che ti ho postato non ti fa uscire finché
    non hai messo un numero.
    poi il resto nelle celle, devi completarlo tu con
    una formula tipo: =se(a1=1;"descrizione1";se(a2=2;"descrizione3;se(a1>2;"descrizione3))).
    per forza è presente un dato in quanto non ti fa uscire dalla form se non lo metti.
    ho provato a mettere 3 bottom che mi inserisce il dato
    cliccato dentro la tex per poi uscire ma non
    ci sono riuscito.

    spero di esserti stato un pochino di aiuto.

    ciao maxxim
     
          Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
          If IsNumeric(TextBox1) = False Then  'se il valore non è un numero
          MsgBox "Inserire Numeri"    'avvisiamo con un messaggio
          Cancel = True    'impediamo l'uscita dalla textbox
          TextBox1.SelStart = 0  'impostiamo il punto iniziale del valore da selezionare
          Else
          TextBox1.SelLength = Len(TextBox1)
          End If
          Unload.me
               
           End Sub



  • di Mabolsie (utente non iscritto) data: 28/12/2009

    Ciao ignazio
    ti ho creato una userform di scelta

    1.crea una userform

    2.inserisci 3 optionbutton

    3.nella caption degli optionbutton metti i tre commenti rigorosamente in ordine

    4.crea un pulsante e nel codice metti il nome della sub da eseguire " scelta"

    5.crea una textbox che conterrà il valore dell'optionbutton cekkato.
    vai nelle proprieta' della text e cambia il backcolor= "immagine pulsante"(grigio come il form)e specialeffect=0 (flat)
    cosi la text sembrerà nascosta nel form.

    6.crea un modulo ed inserisci il codice che ti posto

    7.nel foglio di lavoro devi predisporre un pulsate vicino alla cella di scelta che obblighi l'operatore a clikkarlo di conseguenza aprire il form che non si chiude finchè non fai una scelta.


    buon lavoro

    p.s. sehai bisogno ancora scrivimi

    ciao
     
    Sub Scelta()
    
    If UserForm1.OptionButton1 = True Then UserForm1.TextBox1.Text = "Prescrizione ASL"
    If UserForm1.OptionButton2 = True Then UserForm1.TextBox1.Text = "Segnalazione RLS"
    If UserForm1.OptionButton3 = True Then UserForm1.TextBox1.Text = "Nessuna Segnalazione"
    ActiveSheet.Cells(34, 5) = UserForm1.TextBox1.Text
    Unload UserForm1
    End Sub
    



  • di Mabolsie (utente non iscritto) data: 29/12/2009

    Ciao ignazio
    guarda in alto a destra della discussione dove c'è scritto allegati
    ti allego un file formato .zip
    guardalo
    fammi sapere ciao