Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Pulsante a semaforo

Ultimo Aggiornamento: 23/03/2017 15:51
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

Pulsante
Ciao eccoti un esempio.

Ciao By Sal [SM=x423051]


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

Pulsante
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 [SM=x423051]

[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

Pulsante
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 [SM=x423051]

se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 08:19. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com