Condividi:        

EXCEL Nascondere radio button

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

EXCEL Nascondere radio button

Postdi Francesco53 » 30/09/11 11:32

Buongiorno a tutto il Forum,
ho la seguente necessità, in base al valore di una cella, far visualizzare il radio button associato.
Posto una immagine ad esempio:
Immagine

Tramite formattazione condizionale, riesco a far vedere le celle se il valore è uguale a 3,
vorrei fare la stessa cosa con il radio button associato, nell'esempio non far visualizzare
i radio button delle celle W7 e W8. Spero sia fattibile.
Grazie a tutti
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Sponsor
 

Re: EXCEL Nascondere radio button

Postdi Statix » 30/09/11 12:36

Secondo me è fattibile tramite VBA,
inserendo una userform e mettere i vari optionButton,
in quanto sono facilmente gestibili dalle proprietà
visible o non a condizione.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: EXCEL Nascondere radio button

Postdi Anthony47 » 30/09/11 13:52

Riprendo il suggerimento di Statix con qualche piccola variazione e suggerimento ulteriore.
Usa il radiobutton presente tra gli "Strumenti di controllo", che dispone della proprieta' Visible=True /False.
Poi organizzerai una macro di Worksheet_Change per decidere se quel radiobutton deve essere visibile o meno.
Per semplificarti la vita ti suggerisco di rinominare i rafdiobutton man mano che li crei, usando come nome una convenzione tipo RB_V7, dove la parte V7 e' l' indirizzo della cella che pilota la visibilita'.
Questo ti consentira' di usare nella macro di Worksheet_Change qualcosa del tipo
Codice: Seleziona tutto
If Target.Value<>3 then   
ActiveSheet.Shapes("RB_" & Target.Address(0, 0)).Visible = False
Else
ActiveSheet.Shapes("RB_" & Target.Address(0, 0)).Visible = True
End If
(altrimenti il loro nome e' praticamente casuale e dovresti all' occorrenza cercare quale insiste sull' area di tuo interesse)

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

Re: EXCEL Nascondere radio button

Postdi Francesco53 » 30/09/11 21:28

Vi ringrazio entrambi ma non sono riuscito ad utilizzare i vostri consigli.
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Re: EXCEL Nascondere radio button

Postdi Flash30005 » 30/09/11 21:52

A parte i consigli forniti sopra da Statix e Antony credo sempre che sia più opportuno inviare il file
quando si ha a che fare con oggetti, user form etc è bene dare maggiori informazioni possibili e cosa c'è di meglio del file stesso?

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL Nascondere radio button

Postdi Francesco53 » 01/10/11 11:29

Buona giornata a tutti,
questo è l'indirizzo da cui scaricare il file esempio.
http://www.megaupload.com/?d=Z8BR7OK6

Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Re: EXCEL Nascondere radio button

Postdi Anthony47 » 02/10/11 22:25

Come detto devi eliminare i radiobutton che hai inserito (dalla barra di strumenti Moduli) e inserire quelli programmabili disponibili nella barra degli strumenti di controllo; ogni radiobutton lo rinominerai RB_V5, RB_V6 etc, dove V5, V6 etc sono le celle che determinano se il radiobutton va visualizzato o nascosto.

Poi userai "di base" una Worksheet_Change del tipo
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
CheckArea = "V5:V8"    '<<L' area che controlla i radiobutton
If Application.Intersect(Target, Range(CheckArea)) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Target.Value <> 3 Then
ActiveSheet.Shapes("RB_" & Target.Address(0, 0)).Visible = False
Else
ActiveSheet.Shapes("RB_" & Target.Address(0, 0)).Visible = True
End If
End Sub

Usa l' evento Worksheet_Change, quindi scatta quando le celle in V5:V8 vengono caricate con un nuovo valore; non so come funziona il tuo foglio, quindi non so valutare se funzionera' anche per te.
Va messa nel "modulo di codice del foglio Ricerca": tasto dx sul tab col nome del file; scegli Visualizza codice; copia il codice e incollalo nel frame di dx.

Ciao, fai sapere.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL Nascondere radio button

Postdi Francesco53 » 03/10/11 08:44

Buongiorno Anthony,
tutto quello che hai indicato funziona solo se avviene una digitazione diretta del numero nelle celle V5...V8,
se però i numeri sono riportati da una macro che copia i valori nelle celle, non funziona.
Grazie per i tuoi suggerimenti ma come detto c'è ancora qualcosa che non và.
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Re: EXCEL Nascondere radio button

Postdi Anthony47 » 03/10/11 13:20

Avevo immaginato che qualcosa mancava...
Il metodo che ti ho descritto va integrato con le istruzioni che compilano le celle V5:V8 (o quelle che sono), per questo mi dovresti descrivere quella parte del processo.
In alternativa fai una Worksheet_Change meno sofisticata che pero' scatta in continuazione e potrebbe quindi mangiarti tempo di cpu:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
CheckArea = "V5:V8"   '<< L' area con il val da controllare
For Each MyVal In Range(CheckArea)
    If MyVal.Value <> 3 Then
        ActiveSheet.Shapes("RB_" & MyVal.Address(0, 0)).Visible = False
        Else
        ActiveSheet.Shapes("RB_" & MyVal.Address(0, 0)).Visible = True
    End If
Next MyVal
End Sub

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

Re: EXCEL Nascondere radio button

Postdi Francesco53 » 03/10/11 14:24

Ciao Anthony,
la macro che uso per riportare i dati nelle celle è la seguente:

Codice: Seleziona tutto
Sub FreqUsc()
Application.ScreenUpdating = False
Range("U1:W1").Select
   Selection.ClearContents
Range("W4:W4").Select
   Selection.ClearContents
    Application.Goto Reference:="FreUsc"
    Selection.Sort Key1:=Range("E100"), Order1:=xlDescending, Header:=xlGuess _
        , OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    Application.Goto Reference:="EleFreUsc"
    Selection.Copy
    Application.Goto Reference:="rfu"
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("U4").Select
Application.ScreenUpdating = True
End Sub


In effetti fà un semplice sort dei numeri usciti con le relative presenze, poi copia i primi 10
e li incolla nelle celle U e V, per cui se vedi il file, ci sono i primi 10 numeri con frequenze
di uscita nella relativa estrazione che possono andare da 4 a 2, ma deve tramite formattazione
condizionale far vedere solo quelli che corrispondono a tre presenze, e poi tramite il radio button,
si stabilisce quale numero elaborare.
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Re: EXCEL Nascondere radio button

Postdi Francesco53 » 03/10/11 14:35

Ho dimenticato di dirti che il nuovo codice che mi hai inviato funziona.
Se poi vi è la possibilità di migliorare senza utilizzare la cpu bene, altrimenti
è sufficiente quanto da te inviato.
Grazie
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Re: EXCEL Nascondere radio button

Postdi Francesco53 » 03/10/11 15:12

Dopo alcune prove ho notato che a volte rimane in memoria l'ultima scelta fatta,
radio button visibile e impostato a true, anche se non più presente come opzione
di scelta.
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Re: EXCEL Nascondere radio button

Postdi Anthony47 » 03/10/11 23:31

Trasforma la macro di Worksheet_Change in una macro normale, Es
Codice: Seleziona tutto
Sub Macro123
CheckArea = "V5:V8"   '<< L' area con il val da controllare
'etc
'etc

Caricala nello stesso Modulo dove e' la tua Sub FreqUsc.
Poi in Sub FreqUsc inserisci una Call Macro123 come segue:
Codice: Seleziona tutto
Application.ScreenUpdating = True  'Esistente
Call Macro123     'AGGIUNTA
End Sub            'Esistente


Potrebbe essere anche utile inserire la stessa Call Macro123 in una Sub Workbook_Open da inserire nel modulo ThisWorkbook

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

Re: EXCEL Nascondere radio button

Postdi Francesco53 » 04/10/11 09:30

Grazie
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45


Torna a Applicazioni Office Windows


Topic correlati a "EXCEL Nascondere radio button":


Chi c’è in linea

Visitano il forum: Nessuno e 35 ospiti