Bloccare/sbloccare textbox tramite option button (tra due userform)

Anonimo
2020-11-13T15:27:44+00:00

Salve a tutti,

chiedo un vostro aiuto per poter risolvere questo mio problema.

Spiego:

in un file excel, in sheet1, è presente un pulsante che mi apre una userform;

in questa userform sono presenti 2 option button (optionbutton1 e optionbutton2);

al click di uno dei due si apre in automatico la userform2 (se si clicca optionbutton1 si apre la userform2, ugualmente avviene se si clicca optionbutton2);

qui avviene il problema..

nella seconda userform ho 5 textbox (text1, text2, text3, text4, text5);

se clicco optionbutton1, si apre l'userform2 e la text1 la text2 e la text3 sono sbloccate (in modo da poter scrivere)..mentre le text4 e la text5 bloccate (in modo da non scrivere nulla all'interno);

se clicco optionbutton2, si apre l'userform2 e la text1 la text2 e la text3 sono bloccate (in modo da non poter scrivere)..mentre le text4 e la text5 sbloccate (in modo da poter scrivere);

Ho provato in questo modo, ma non funziona:

Private Sub OptionButton1_Click()

If OptionButton1 = True Then

UserForm2.Show

        TextBox1.Enabled = True

        TextBox2.Enabled = True

        TextBox3.Enabled = True

        TextBox4.Enabled = False

        TextBox5.Enabled = False   

End If

End Sub

Private Sub OptionButton2_Click()

If OptionButton2 = True Then

UserForm2.Show

        TextBox1.Enabled = False

        TextBox2.Enabled = False

        TextBox3.Enabled = False

        TextBox4.Enabled = True

        TextBox5.Enabled = True    

End If

End Sub

Come posso risolvere?

Grazie per ogni aiuto possibile e se avete bisogno sono a vostra disposizione. :)

Sol39

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2020-11-13T16:44:49+00:00

Ciao Sol39,

chiedo un vostro aiuto per poter risolvere questo mio problema.

Spiego:

in un file excel, in sheet1, è presente un pulsante che mi apre una userform;

in questa userform sono presenti 2 option button (optionbutton1 e optionbutton2);

al click di uno dei due si apre in automatico la userform2 (se si clicca optionbutton1 si apre la userform2, ugualmente avviene se si clicca optionbutton2);

qui avviene il problema..

nella seconda userform ho 5 textbox (text1, text2, text3, text4, text5);

se clicco optionbutton1, si apre l'userform2 e la text1 la text2 e la text3 sono sbloccate (in modo da poter scrivere)..mentre le text4 e la text5 bloccate (in modo da non scrivere nulla all'interno);

se clicco optionbutton2, si apre l'userform2 e la text1 la text2 e la text3 sono bloccate (in modo da non poter scrivere)..mentre le text4 e la text5 sbloccate (in modo da poter scrivere);

Ho provato in questo modo, ma non funziona:

Private Sub OptionButton1_Click()

If OptionButton1 = True Then

UserForm2.Show

        TextBox1.Enabled = True

        TextBox2.Enabled = True

        TextBox3.Enabled = True

        TextBox4.Enabled = False

        TextBox5.Enabled = False   

End If

End Sub

Private Sub OptionButton2_Click()

If OptionButton2 = True Then

UserForm2.Show

        TextBox1.Enabled = False

        TextBox2.Enabled = False

        TextBox3.Enabled = False

        TextBox4.Enabled = True

        TextBox5.Enabled = True    

End If

End Sub

Come posso risolvere?

In cima ad un modulo di codice standard incolla:

'========>>

Option Explicit

Public myOption As Long

'-------->>

Public Sub ShowForm()

    UserForm1.Show vbModeless

End Sub

'<<========

Nel modulo di codice della prima Userform, incolla:

'========>>

Option Explicit

'-------->>

Private Sub UserForm_Initialize()

    myOption = 0

End Sub

'-------->>

Private Sub OptionButton1_Click()

    If OptionButton1 = True Then

        myOption = 1

    End If

    UserForm2.Show

End Sub

'-------->>

Private Sub OptionButton2_Click()

    If OptionButton2 = True Then

        myOption = 2

    End If

    UserForm2.Show

End Sub

'<<========

Nel modu;lo di codice della seconda Userform, incolla il seguente codice:

'========>>

Option Explicit

'-------->>

Private Sub UserForm_Initialize()

    With Me

        Select Case myOption

            Case 1

                .TextBox1.Enabled = True

                .TextBox2.Enabled = True

                .TextBox3.Enabled = True

                .TextBox4.Enabled = False

                .TextBox5.Enabled = False

            Case 2

                .TextBox1.Enabled = False

                .TextBox2.Enabled = False                

                .TextBox3.Enabled = True

                .TextBox4.Enabled = True

                .TextBox5.Enabled = True

        End Select

    End With

End Sub

'<<========

Potresti scaricare il mio file di prova Sol20201112.xlsm

===

Regtards,

Norman

La risposta è stata utile?

0 commenti Nessun commento

2 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2020-11-14T12:33:48+00:00

    Ciao Sol39,

    ho provato il tuo codice e gira una meraviglia!

    Grazie mille per l'aiuto e a presto. :)

    Ti ringrazio per il cortese riscontro.

    Alla prossima.

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2020-11-14T08:02:42+00:00

    Ciao Norman,

    ho provato il tuo codice e gira una meraviglia!

    Grazie mille per l'aiuto e a presto. :)

    Sol39

    La risposta è stata utile?

    0 commenti Nessun commento