| | Post: 4 | Registrato il: 28/11/2005
| Utente Junior | excel 2016 | | OFFLINE | |
|
22/03/2017 17:49 | |
ciao,
dovrei inserire un pulsante che se schiacciato diventa rosso-verde-giallo (partenza giallo, poi iterativo).
O anche un menu a tendina dove scegliere un cerchio giallo/rosso/verde.
come si fa? |
|
| | Post: 5.094 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
22/03/2017 18:40 | |
Ciao eccoti un esempio.
Ciao By Sal
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 29 | Registrato il: 04/11/2016
| Città: FIUMICINO | Età: 39 | Utente Junior | Excel 2003 | | OFFLINE | |
|
22/03/2017 22:59 | |
Eccotene un altro più spartano |
| | Post: 5 | Registrato il: 28/11/2005
| Utente Junior | excel 2016 | | OFFLINE | |
|
23/03/2017 08:48 | |
@BySal: se lo copio nel mio foglio non mi funziona, che devo fare? |
| | Post: 3.783 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
23/03/2017 08:56 | |
altra possibilità
http://archi.forumup.it/ntopic8472-archi.html
se non riesci allega il tuo file [Modificato da patel45 23/03/2017 08:56]
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 30 | Registrato il: 04/11/2016
| Città: FIUMICINO | Età: 39 | Utente Junior | Excel 2003 | | OFFLINE | |
|
23/03/2017 09:29 | |
Diamo a Cesare quel che è di Cesare
http://www.forumexcel.it/forum/7-domande-su-excel-vba-e-macro/3093-cambiare-colore-del-commandbutton-al-clik
cioè ad Alfredo quel che è di Alfredo, che saluto e dal quale tempo fà rubacchiai la soluzione.
Saluti |
| | Post: 5.095 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
23/03/2017 09:38 | |
Ciao Argon, hai copiato anche la macro?, se no allora premi alt+F11 si apre l'editore del VBA nel menu inserisci scegli modulo, compare una pagina bianca e fai copia incolla del codice, di nuovo alt+F11 per tornare al foglio.
se si allora il problema può essere un altro, nel tuo foglio hai già inserito delle "Forme" (il pulsante), ogni forma ha il suo nome applicato da Excel in automatico, nel mio foglio essendo unica ha il nome do "Ovale1" come potrai leggere nella macro, sul tuo foglio quando hai fatto copia incolla avrà preso un altro nome perche già sono presenti altre forme.
per sapere il nome che ha preso seleziona il pulsante con il dx del mouse e nella casella dei nomi in alta sx vicino alla barra delle formule dovrebbe comparire il nome nuovo che Excel ha assegnato, tale nome devi sostituirlo con "Ovale1".
Ciao By Sal
[Modificato da by sal 23/03/2017 09:39] se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 6 | Registrato il: 28/11/2005
| Utente Junior | excel 2016 | | OFFLINE | |
|
23/03/2017 10:29 | |
@By Sal: perfetto, funziona!
ultima cosa: se volessi aggiungere un testo che cambia insieme al colore? di fianco a dx del pulsante, anche il testo del colore dovrebbe cambiare se possibile |
| | Post: 31 | Registrato il: 04/11/2016
| Città: FIUMICINO | Età: 39 | Utente Junior | Excel 2003 | | OFFLINE | |
|
23/03/2017 13:33 | |
Tieni presente che la posizione di un CommandButton si individua con la TopLeftCell (cella in alto a sinistra) di dove è posizionato. Perciò individuare la cella a destra del ComBt dipende dalla sua larghezza ed altezza, se occupa 1 cella (A4) allora la cella alla sua destra è la A5, se ne occupa 2 allora la cella alla sua destra è la A6 e così via. Quindi spostandosi dalla cella in alto a sinistra di dove è posizionato, trovi la cella voluta, col comando
CommandButton1.TopLeftCell.Offset(0, 2).Font.ColorIndex = 6 (giallo)
dove devi dare all'Offset le coordinate giuste. Nell'esempio sopra la cella si trova sulla stessa riga ma 2 celle a destra, cioè il ComBt occupa 2 celle.
Chiarooo ?
Guarda il file allegato e regolati. Sposta come vuoi il pulsante e verrà colorato il font della cella a destra del CmdBt.
Ciao
|
| | Post: 5.096 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
23/03/2017 15:51 | |
Ciao ecco la modifica apportata alla Macro
Sub puls()
If Color = "" Then Color = 1
ActiveSheet.Shapes.Range(Array("Oval 1")).Select
Select Case Color
Case 1
With Selection.ShapeRange.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Solid
End With
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "sss"
With Selection.ShapeRange(1).TextFrame2.TextRange.Font.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 255, 255) 'colore Bianco
.Transparency = 0
.Solid
End With
Color = 2
Case 2
With Selection.ShapeRange.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 255, 0)
.Transparency = 0
.Solid
End With
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "Pippo"
With Selection.ShapeRange(1).TextFrame2.TextRange.Font.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 0, 0) 'colore nero
.Transparency = 0
.Solid
End With
Color = 3
Case 3
With Selection.ShapeRange.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 176, 80)
.Transparency = 0
.Solid
End With
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "Rosa"
With Selection.ShapeRange(1).TextFrame2.TextRange.Font.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0) 'colore Rosso
.Transparency = 0
.Solid
End With
Color = 1
End Select
Cells(1, 1).Select
'-------------------tuoi comandi
End Sub
segui la stessa procedura di sopra e sostituisci la macro.
come vedi sono 3 testi con colori differenti, cambia il testo inserendo quello che vuoi, ma attenzione se il testo è troppo lungo esce dal pulsante, dovrai adattarlo.
per ottenere i colori RGB (le tre cifre fra parentesi) devi aprire la tabella dei colori e scegliere "Personalizzati".
Ciao By Sal
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
|
|