View Full Version : Macro in excel: è possibile creare un bottone con doppia funzione (on-off)?
Ciao,
premetto che non so niente di programmazione e sono riuscito a creare una macro con una guida on line
Lavoro in banca, ho un file clienti (in riga) e mi servono dei bottoni per far "apparire e sparire" varie informazioni (in colonna)
Posso registrare le varie macro e assegnarle ai bottoni per es
bottone 1: mostra colonna con l'indirizzo
bottone 2: nascondi colonnna con l'indirizzo
bottone 3: mostra colonna con il telefono
bottone 4: nascondi colonnna con il telefono ecc
MA, vorre sapere se è possibile fare questo:
bottone 1 premuto (cioè schiacciato una volta): mostra colonna con l'indirizzo
bottone 1 rialsciato (cioè schiacciato la seconda volta): nascondi colonnna con l'indirizzo
ecc.
qualcuno mi sa aiutare??:confused:
Grazie:)
credo si potrebbe fare inserendo una cella nascosa con un valore che ne so ON
alla macro fai fare il check se è ON vuol dire che la colonna è visibile e quindi fai lanciare il comando nascondi e fai modificare il valore in OFF
al contrario se vedi OFF la macro visualizza la colonna e modifica il valore in ON
ora nn ho tempo di provare...cmq visto che ci stai studiano...mi pare un buon esercizio :)
non ci ho capito nulla ma per ora grazie lo stesso ... :D :D
ehm.. non è che mi potresti dire come fare la cella nascosta e come programmare la macro :) ?
nel caso considera che non ho mai aperto il visual basic, ma ho solo registrato un paio di macro con azioni tipo nascondi o mostra colonne...
e poi..altri con altre idee??
Se ho capito bene cosa ti serve, non c'è bisogno delle macro.
Puoi utilizzare i comandi di raggruppamento. Menù dati → raggruppa (vado a memoria).
In questo modo potrai nascondere/scoprire le colonne una alla volta, oppure tutte insieme.
Ciao,
premetto che non so niente di programmazione e sono riuscito a creare una macro con una guida on line
Lavoro in banca, ho un file clienti (in riga) e mi servono dei bottoni per far "apparire e sparire" varie informazioni (in colonna)
Posso registrare le varie macro e assegnarle ai bottoni per es
bottone 1: mostra colonna con l'indirizzo
bottone 2: nascondi colonnna con l'indirizzo
bottone 3: mostra colonna con il telefono
bottone 4: nascondi colonnna con il telefono ecc
MA, vorre sapere se è possibile fare questo:
bottone 1 premuto (cioè schiacciato una volta): mostra colonna con l'indirizzo
bottone 1 rialsciato (cioè schiacciato la seconda volta): nascondi colonnna con l'indirizzo
ecc.
qualcuno mi sa aiutare??:confused:
Grazie:)
Semplice.
Non usare il Command Button.
C'è un controllo VBA apposito per fare quello che vuoi tu, e precisamente il "Toggle Button".
Cercalo nella barra strumenti VBA...
Quando l'hai posizionato sul foglio, per testarne il funzionamento, associa al Click il seguente codice :
Private Sub ToggleButton1_Click()
If ToggleButton1.Value = True Then
MsgBox "PREMUTO"
Else
MsgBox "RILASCIATO"
End If
End Sub
Infine sostituisci ai due "msgbox" le routine desiderate... ;)
ho trovato il "pulsante di comando", l'ho diseganto e poi con il pulsnte destro ho fatto: visualizza codice e ci ho incollato quel testo
... poi?
"Infine sostituisci ai due "msgbox" le routine desiderate"
cosa sono i msg box? nel visual basic c'è un monte ri roba per me arabo
epoi: per routine cosa intendi? le macro? c'è il verso di registrare le azioni o vanno programmate con le linea di comando? (perchè se è così non ci provo nemmeno) :eek:
Grazie cmq!
1. Excel / Visualizza / Barre Degli Strumenti / Strumenti Di Controllo.
2. Quando la barra "Strumenti Di Controllo" è visibile, scegli il controllo "Interruttore", che non è altro che un pulsante di comando "speciale" ( Interruttore = "ToggleButton" - nome VBA... )
Ne crei uno sul foglio che ti interessa. Ad es.: Foglio1.
3. Se entri in modalità progettazione e fai Doppio-Click sul ToggleButton ti si apre l'editor VBA, no ?
La routine, ossia il codice da far eseguire al Click del ToggleButton sarà diversa a seconda che in quel momento sia premuto o rilasciato :
- ToggleButton1.Value = True significa che lo stato è PREMUTO.
- ToggleButton1.Value = False significa che lo stato è RILASCIATO.
4. Le msgbox sono finestre di messaggio che ho usato per esemplificare... In pratica devi usare questo codice e sostituire solo dove è grassetto, mettendoci le tue macro...
Private Sub ToggleButton1_Click()
If ToggleButton1.Value = True Then
MsgBox "PREMUTO"
Else
MsgBox "RILASCIATO"
End If
End Sub
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.