Condividi:        

Associare un Radio button in vba a un testo

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Associare un Radio button in vba a un testo

Postdi club » 23/05/15 16:02

Ciao a tutti,

devo creare un form con all'interno molti option button separati a gruppi in modo tale che per ogni determianta sequenza dovrò far apparire dei testi. La creazione dei vari gruppi di radio button non è un problema.
Il primo gruppo ne ha 4, il secondo gruppo 2, il terzo 2 e il quarto 2.
Con le istruzioni IF-ELSE è un lavoro che si riesce a fare ma mi sembra un po' lungo come codice. Stavo pensando di usare il Select case; inoltre stavo pensando di associare ad ogni radio button una lettera (quindi una stringa). In questo modo quando avro una sequenza di lettere sicuramente avrò identificato una combinazione.

Per esempio: gruppo 1: opt1 opt2 opt3 opt4
gruppo 2: opt5 opt6
gruppo 3: opt7 opt8
gruppo 4: opt9 opt10
Pensavo di associare a opt1 la lettera 'a', alla 2 la 'b', alla 3 la 'c', e cosi via... fino a opt10 con la lettera 'l'

in questo modo se ho una stringa 'aegi' e perchè èselezionato le opt1 5 7 9.
Non so come associare una stringa a un radio button
e non so che comando usare per unire le varie stringhe.
Spero di essere stato chiaro
Sto usando vba con excel 2007

grazie a tutti per le inforazioni che potrete darmi
club
Newbie
 
Post: 5
Iscritto il: 09/04/15 14:01

Sponsor
 

Re: Associare un Radio button in vba a un testo

Postdi Anthony47 » 23/05/15 18:47

Non ho capito come avevi in mente di procedere, ma secondo me la cosa piu' semplice e' che interroghi i vari radiobutton e se true gli associ la stringa; altrimenti passi al successivo.
Tipo
Codice: Seleziona tutto
If Me.OptionButton1 = True Then myVar = "Primo valore": GoTo Check2
If Me.OptionButton2 = True Then myVar = "Secondo valore": GoTo Check2
'altri optionbutton

Check2:                     'Secondo gruppo
If Me.OptionButton5 = True Then myVar = myVar & " delta testo1": GoTo Check3
If Me.OptionButton6 = True Then myVar = myVar & " delta testo2": GoTo Check3
'etc etc
Chek3:                      'Terzo gruppo
'idem

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Associare un Radio button in vba a un testo

Postdi scossa » 23/05/15 21:39

Non ho capito bene la tua necessità, comunque prova questo codice, giusto come spunto:

Codice: Seleziona tutto
Private Sub CommandButton1_Click()
  Dim oControl As Control
  Dim sChecked As String
 
  For Each oControl In Me.Controls
    If TypeOf oControl Is MSForms.OptionButton Then
      If oControl.Value Then sChecked = sChecked & oControl.Name & " "
    End If
  Next
  MsgBox sChecked
End Sub
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: Associare un Radio button in vba a un testo

Postdi club » 25/05/15 10:51

Ciao e grazie per le risposte! Stavo provando ausare il tuo codice Anthony 47, ma alcune cose non mi tornano.
Cosa intendi con "delta testo 1"? è solo una stringa o rappresenta qualcosa di piu' importante?
Se supponiamo di avere due gruppi di option button:
opt1 opt3
opt2 opt4
Io ho associato opt1=a, opt2=b, opt3=c, opt4=d
A questo punto sfruttando il Select case faccio in modo che quando ho la cominazione a-c scrivo in una label un testo, oppure quando ho la cominazione a-d scrivo un testo diverso nella stessa label.
Ma non mi funziona. Come posso correggere il problema?
Vi scrivo il codice che ho modificato.

Private Sub CommandButton1_Click()
Dim a As String
Dim b As String
Dim c As String
Dim d As String
Dim myvar As String

If Me.opt1 = True Then myvar = "a": GoTo Check2
If Me.opt2 = True Then myvar = "b": GoTo Check2
'altri optionbutton

Check2: 'Secondo gruppo
If Me.opt3 = True Then myvar = "c"
If Me.opt4 = True Then myvar = "d"


Select Case myvar
Case myvar = "a" & "c"
label2.Caption = "Pulsante NO tra T11 e T31"
Case myvar = "a" & "d"
label2.Caption = "Pulsante"
End Select
End Sub


Grazie ancora per le informazioni
Ciao
club
Newbie
 
Post: 5
Iscritto il: 09/04/15 14:01

Re: Associare un Radio button in vba a un testo

Postdi club » 25/05/15 12:35

piccola nota aggiuntiva...
nel codice sottostante
invece di

Case myvar = "a" & "c"
ho scritto Case myvar = "a" and "c"
club
Newbie
 
Post: 5
Iscritto il: 09/04/15 14:01

Re: Associare un Radio button in vba a un testo

Postdi Anthony47 » 26/05/15 23:37

Faccio un esempio
Primo gruppo
1= Matematica
2= Italiano
3= Latino
...

Secondo gruppo
1=3
2=4
3=5
...
Terzo gruppo
1=+
2=-
3=1/2
4=--
...

In questo modo con tre click potresti indicare Matematica 4+ o Latino 5--

Non so se e' appropriato con quello che devi fare tu.

Nel tuo codice, nel "Secondo gruppo" non devi scrivere ad es If Me.opt3 = True Then myvar = "c" ma If Me.opt3 = True Then myvar = myvar & "c" in modo da mantenere anche il contenuto impostato nel primo gruppo.
Quanto all' eventuale uso di Select Case, allora devi sondare le condizioni "a" & "c"
(non "a" and "c")

Spero che trovi lo spunto giusto...

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Associare un Radio button in vba a un testo":


Chi c’è in linea

Visitano il forum: Nessuno e 49 ospiti