Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Giuseppe,
Ho usato il tuo codice Riuscito() e ho visto che funziona molto bene anche se i pulsanti sono su Foglio1 e le celle in cui inserire le opzioni 1-2-3... sono un altro foglio ad esempio il Foglio5.
Certo!
Se però voglio costruire più gruppi di Pulsanti di opzione sullo stesso Foglio1 ad esempio:
Pulsante di opzione 1
Pulsante di opzione 2
Pulsante di opzione 3
e
Pulsante di opzione 4
Pulsante di opzione 5
e
Pulsante di opzione 6
Pulsante di opzione 7
Pulsante di opzione 8
Pulsante di opzione 9
ho provato a raggrupparli usando le Caselle di gruppo ma ho notato che non funzionano bene perché si creano delle interferenze soprattutto quando le varie Caselle di gruppo con i relativi pulsanti sono ravvicinati.
Come mai accade questo? E come posso risolvere?
Io ho creato un file di esempio con due caselle di gruppo. Nella prima casella di gruppo, Group Box 1, ho inserito 4 pulsanti di opzioni:
Pulsante di opzione 1
Pulsante di opzione 2
Pulsante di opzione 3
Giuseppe
Ho allegato ciascuno di questi pulsanti di opzioni alla macro Tester2. Questa macro modifica il valore dell'intervallo D2:F2 a seconda di quale dei quattro pulsanti di opzione è selezionato.
In modo simile, nella seconda casella, e nella seconda casella di gruppo, Group Box 2, ho inserito 3 pulsanti di opzioni:
Pulsante di opzione 5
Pulsante di opzione 6
Pulsante di opzione 7
Ho allegato questi pulsanti di opzioni alla macro Tester3. Questa macro modifica il valore dell'intervallo D3:F3 a seconda di quale dei tre pulsanti di opzione è selezionato.
Il codice delle procedure Tester2 e Tester3 segue:
'==========>>
Option Explicit
'--------->>
Public Sub Tester2()
Dim WB As Workbook
Dim SH As Worksheet
Dim Rng As Range
Dim oButton As OptionButton
Set WB = ThisWorkbook
Set SH = WB.Sheets("Foglio1")
Set Rng = SH.Range("D2:F2")
Select Case SH.OptionButtons(Application.Caller).Caption
Case "Pulsante di opzione 1"
Rng.Value = 1
Case "Pulsante di opzione 2"
Rng.Value = 2
Case "Pulsante di opzione 3"
Rng.Value = 3
Case "Giuseppe"
Rng.Value = "Pippo"
Case Else
'do nothing
End Select
End Sub
'--------->>
Public Sub Tester3()
Dim WB As Workbook
Dim SH As Worksheet
Dim Rng As Range
Dim oOpButton As OptionButton
Set WB = ThisWorkbook
Set SH = WB.Sheets("Foglio1")
Set Rng = SH.Range("D3:F3")
Select Case SH.OptionButtons(Application.Caller).Caption
Case "Pulsante di opzione 5"
Rng.Value = 100
Case "Pulsante di opzione 6"
Rng.Value = 200
Case "Pulsante di opzione 7"
Rng.Value = 300
Case Else
'do nothing
End Select
End Sub
'<<=============
Nota che il funzionamento dei pulsanti di opzione nella prima e seconda casella di gruppo è completamente indipendente.
Ho caricato il mio file di prova su Microsoft OneDrive a:
===
Regards,
Norman